mingtian980
V2EX  ›  问与答

一个负载很高的问题

By mingtian980 at 2019 年 9 月 12 日 · 2867 次点击

请教大家一个问题,我是一名经常在公司划水的运维人员,最近新上线了一个 C++程序跑在 centos 上,不知道什么原因,系统的负载非常高,分分钟飙到 20、30,使用 top、iostat 等命令看 cpu 和 io 并没有什么异常,而且在 shell 中敲命令反馈也十分迅速,业务方面也没有影响。但看到这么大的负载数字心里感觉还是怪怪的。。。

机器参数:2 核 6G E5-2420 虚拟化机器

top 命令:

iostat:

第 1 条附言  ·  2019 年 9 月 12 日

初步判断是程序自身的问题,用strace命令看了下,产生了很多 nanosleep 的系统调用,且一直不间断

7 条回复  •  2019-09-12 14:21:51 +08:00
wshcdr
   1
wshcdr  
   2019 年 9 月 12 日
关注这个问题
chenset
   2
chenset  
   2019 年 9 月 12 日   ❤️ 1
strace 命令查一下
momocraft
   3
momocraft  
   2019 年 9 月 12 日
cpu/time 延时 /time 吞吐量 /time 是否有某些特征?
lexuskingxx
   4
lexuskingxx  
   2019 年 9 月 12 日
关注。
nvioue
   5
nvioue  
   2019 年 9 月 12 日 via Android
记得负载高的意思是需要运行的进程数多于 CPU 数 先自己查查负载的意思
AngryPanda
   6
AngryPanda  
   2019 年 9 月 12 日
看看是否有 D 状态进程
a663
   7
a663  
   2019 年 9 月 12 日
@AngryPanda +1

系统负载很高的原因:
1. 进程占用 CPU 过高 ( top 可看)
2. 进程在等待 io, 一般是 io 过高,iostat -x 可看
3.进程 D 状态
© 2026 V2EX · 33ms · 3.9.8.5