负载100% 解决方法

偶然发现,在宝塔面板中,我的服务器负载居然是100% 但是cpu 和内存其实并不高

通过命令查看主机

uptime 中load average 居然高达14.03 看来负载是真的高了

通过vmstat 看看具体问题

procs:

​ r 表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,说明CPU不足。

​ b 表示等待资源的进程数,比如正在等待I/O、或者内存交换等。

memory:算是正常

swap:

​ si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够或者内存泄露了,要查找耗内存进程解决掉。

​ so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

​ 一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示内存不足。

IO:

​ bi 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte

​ bo 块设备每秒发送的块数量

​ 设置的bi+bo参考值为1000,如果超过1000,而且wa值较大,则表示系统磁盘IO有问题,应该考虑提高磁盘的读写性能。

图上还好

system:

​ in 每秒CPU的中断次数,包括时间中断。(较高)

​ cs 每秒上下文切换次数(较高)

​ 这两个值越大,内核消耗的CPU就越多

cpu:

​ us 用户进程消耗的CPU时间百分比,us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法

​ sy 内核进程消耗的CPU时间百分比,sy值如果太高,说明内核消耗CPU资源很多,例如是IO操作频繁。

​ id CPU处于空闲状态的时间百分比。(cpu空闲)

​ wa io等待所占用的时间百分比,wa值越高,说明IO等待越严重,根据经验,wa的参考值为20%,如果wa超过20%,说明IO等待严重,引起IO等待的

​ 原因可能是磁盘大量随机读写造成的,也可能是磁盘或者磁盘控制器的带宽瓶颈造成的(主要是块操作)

通过上面的分析,发现主要是cpu每秒中断次数以及上下文切换较高

查看iostat

sda盘 有些拖后腿了所以iowait 有些高,不过还能接受

看看系统里面有没有D状态的 进程

ps -aux |grep D

为啥又这么xrdp 都处于D状态? 

果断关闭试试?

终于正常了,但是那个xrdp 是啥服务呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值