linux下的CPU平均负载

时间:2021-11-02 21:30:17
 
linux下的CPU平均负载

一、注销登陆过的用户
先用w命令查看该用户tty号,然后用fuser -k tty号(或显示pts/*)就可以踢出了

先用w命令查看在线用户
然后
pkill -kill -t tty

如pkill -kill -t pts/1

二、CPU平均负载
为什么要监控系统的平均负载?
     有时我们会感觉到系统响应很慢,但是又找不到原因,
     这时要查平均负载,是否有大量的进程在排队等待

1,平均负载是什么?
           特定时间间隔内运行队列中的平均进程数
           好象还不够明白:就是进程队列的长度,有多少个进程在排队等待运行

2,什么是"进程队列"?
           一个进程满足以下条件就会位于进程队列中
                  1,它没有在等待I/O操作的结果
                  2,它没有主动进入等待状态(即没有调用wait)
                  3,它没有被停止

3,如何查看平均负载?
最简单的命令是uptime
例子:
[lhd@localhost ~]$ uptime
00:44:22 up 1:17, 3 users, load average: 8.13, 5.90, 4,94

4,显示的内容是什么意思?
          load average:    8.13, 5.90, 4,94
          显示的是过去的1, 5, 15分钟内进程队列中的平均进程数量

5,如何衡量当前系统是否负载过高?
        如果每个cpu(可以按CPU核心的数量计算)上当前活动进程数不大于3,则系统性能良好,
        不大于4,表示可以接受
        如大于5,则系统性能问题严重
        上面例中的8.13,如果有2个cpu核心,则8.13/2=4.065,   此系统性能可以接受
        建议设置严格的报警值为: CPU核心的数量
        比如:CPU核心数量为2,则设置报警值为2
        (这样设置是合理的,因为毕竟不是每个应用都支持多CPU及多核心)
       
6,查看平均负载的命令
                 有5个可用:
                 tload    能够绘制出负载变化的图形
                 uptime   同时显示开机以来的时间
                 w        同时显示出已登录的用户
                 top      这个对资源占用太高,不建议使用
                 cat /proc/loadavg   通过/proc系统信息得到平均负载
        注意:如果你要持续的观察平均负载,建议用 watch uptime
             或 watch cat /proc/loadavg
        备注:关于watch:每隔一定时间执行指定的程序,并全屏显示结果, 时间默认是2秒.

     使用uptime命令监视系统状态
a) #uptime

12:54pm up 27 min, 2 users, load average: 0.00, 0.00, 0.00

现在时间 启动了多久 几个用户在线 CPU平均负载时间(共3个)
第一个 : 1分钟内平均负载值
第二个 : 5分钟内平均负载值
第三个 : 15分钟内平均负载值

当系统负载过大时,说明有多条命令被阻塞在内存和I/O系统中
在大型linux系统中,负载为2和3表示轻载,5和6 表示中等程度的负载,10以上为过载