Linux 常见问题解决思路

Linux 常见问题解决思路

  • CPU 高
  • 系统平均负载高(load average)

CPU 高

1,步骤:查找进程-》查找线程-》分析threadDump日志-》找出问题代码

a、查看 cpu 高的 java 进程

 top

b、生成进程下所有线程的栈日志

 jstack 1721 > 1712.txt

c、查看进程下哪些线程占用了高的 cpu

top -p 1712 -H

d、将十进制 pid 转换为十六进制的 pid

printf “%x” 8247

2037

e、在 1712.txt 文件中定位问题
Linux 常见问题解决思路_第1张图片

执行 jmap,jstack 等命令时可能会出现 Unable to open socket file: target process not responding or HotSpot VM not loaded 问题

其实大部分情况是用户错误,切换到进程所在用户执行命令即可

su yarn

系统平均负载高(load average)

平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。一般来说单核 CPU 的 load 不应该大于1,同理,多核的 load 不应该大于核数

我们常见的负载高一般有这几种情况引起,一个是 cpu 密集型,使用大量 cpu 会导致平均负载升高。另外一个就是 io 密集型等待 I/O 会导致平均负载升高,但是 CPU 使用率不一定很高

还有就是大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高

你可能感兴趣的:(运维,linux,运维,服务器)