统信 操作系统,jdk1.8.0_271 去 java -jar 启动 ruoyi 的springboot 项目 特别慢
·
先确认是不是 JDK 本身执行卡顿(最高概率)
1. 检测 java 命令耗时
time /usr/java/jdk1.8.0_271/bin/java -version
- 输出耗时超过 1 秒:确定是
/dev/random熵池不足问题(国产统信 ARM/x86 通用通病) - 瞬间输出:问题出在 Spring 项目加载流程
real 0m0.057s
user 0m0.049s
sys 0m0.013s
可以排除 jdk的问题
根因找到了:本机主机名反向解析阻塞,41 秒卡死
日志关键:
InetAddress.getLocalHost().getHostName() took 41224 milliseconds to respond
SpringBoot 启动时会获取本机 hostname,Linux / 统信系统 /etc/hosts 配置不正确,DNS 解析阻塞 40 多秒,这就是启动极慢的元凶。
一、快速验证问题
执行这条命令,看是否同样卡顿 40 秒左右:
time hostname
time java -cp /usr/java/jdk1.8.0_271/jre/lib/rt.jar java.net.InetAddress
或者直接测试:
time cat /etc/hosts
time getent hosts $(hostname)
getent hosts 本机主机名 会严重超时。
和获取主机名
import java.net.InetAddress;
InetAddress.getLocalHost()
InetAddress.getLocalHost()
现在是获取不到,这个和咱们操作系统有关系吗。
结论:和统信操作系统强相关,但不是系统 bug,是 Linux 通用主机名解析机制问题
一、为什么统信上 InetAddress.getLocalHost() 会卡 40 秒 / 获取失败
1. Java 底层调用流程(统信 Linux 完全遵循这套逻辑)
- JVM 调用系统接口拿到本机主机名(
hostname命令输出); - 系统按
/etc/nsswitch.conf规则解析这个主机名:先查/etc/hosts,查不到就走 DNS 网络解析; - 你的服务器
/etc/hosts里没有本机主机名和 127.0.0.1 的映射; - 系统去外网 / 内网 DNS 查询本机主机名,内网无 DNS 记录,阻塞等待 40 秒网络超时,才抛出
UnknownHostException或缓慢返回。
2. 统信 UOS 的特殊场景加重问题
- 国产化服务器常离线 / 内网无 DNS 服务,resolv.conf 里 nameserver 失效;
- 服务器装机、克隆镜像后,
/etc/hostname主机名不会自动写入/etc/hosts; - 飞腾 / 鲲鹏 ARM 架构统信,域名解析超时等待更明显,极易出现几十秒卡顿;
- 你服务器 CPU、内存、IO 全部空闲,线程卡在系统内核 DNS 等待,完全匹配日志
took 41224 milliseconds。
3. 区分:不是 JDK 问题,是操作系统解析配置问题
- 你测过
time java -version0.05 秒,JDK 本身无性能缺陷; - 换 Windows、配置好 hosts 的 Linux,同一段代码瞬间返回;
- 核心故障点:统信系统
/etc/hosts缺少本机 hostname 映射。
二、快速验证操作系统解析故障(统信直接执行)
# 1. 获取本机主机名
hostname
# 2. 直接让系统解析主机名,复现卡顿
time getent hosts $(hostname)
如果这条命令耗时几十秒,实锤系统解析配置错误。
三、三层解决方案(从根治到代码规避)
操作系统层面根治(推荐,永久解决所有 Java / 程序卡顿)
- 查看主机名,假设输出
uos-server - 编辑 hosts
sudo vim /etc/hosts
修改第一行,追加你的主机名:
127.0.0.1 localhost localhost.localdomain uos-server
::1 localhost localhost.localdomain
- 验证修复,瞬间返回即成功
time getent hosts $(hostname)
修改后所有 Java 程序、SpringCloud 注册、工具类 getHostIp() 都不再卡顿。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)