查看系统负载情况

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看系统负载情况相关的知识,希望对你有一定的参考价值。

参考技术A

1、如何判断系统是否已经Over Load?
根据cpu数量去判断。如果平均负载始终在1.2一下,而你有2颗cup的机器。那么基本不会出现cpu不够用的情况。
也就是Load平均要小于Cpu的数量。

2、查看系统负载vmstat

procs
r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。

cpu 表示cpu的使用状态
us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
id 列显示了cpu处在空闲状态的时间百分比

system 显示采集间隔内发生的中断数
in 列表示在某一时间间隔中观测到的每秒设备中断数。
cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。

memory
swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
free 当前的空闲页面列表中内存数量(k表示)
buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。
cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。

swap
si 由内存进入内存交换区数量。
so由内存交换区进入内存数量。
IO
bi 从块设备读入数据的总量(读磁盘)(每秒kb)。
bo 块设备写入数据的总量(写磁盘)(每秒kb)
这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

3、 cat /proc/loadavg (uptime、w、top)
0.18 0.09 0.11 1/396 31537
除了前3个数字表示平均进程数量外,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID.

grep \'model name\' /proc/cpuinfo | wc -l (CPU数)
取得CPU核心数目N,观察后面2个数字(五分钟,15分钟的负载数字),用数字/N,如果得到的值小于0.7即可无忧

LINUX 查看当前系统的负载情况

uptime

linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息。

eg:

# uptime

02:03:50 up 126 days, 12:57, 2 users, load average: 0.08, 0.03, 0.05

10:19:04 up 257 days, 18:56, 12 users, load average: 2.10, 2.10,2.09

显示内容说明:

10:19:04 //系统当前时间 

up 257 days, 18:56 //主机已运行时间,时间越大,说明你的机器越稳定。 

12 user //用户连接数,是总连接数而不是用户数 

load average // 系统平均负载,统计最近1,5,15分钟的系统平均负载

 

那么什么是系统平均负载呢?

系统平均负载是指在特定时间间隔内运行队列中的平均进程数。 

如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。

如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。 

如果你的linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。

1可以被认为是最优的负载值。负载是会随着系统不同改变得。

单CPU系统1-3和SMP系统6-10都是可能接受的。

 

cat /proc/loadavg

# cat /proc/loadavg

0.00 0.01 0.05 2/384 4482

0.00 0.01 0.05 表示最近1分钟,5分钟,15分钟 系统的平均负载; 系统负载越高,代表CPU越繁忙;

2/384 2代表此时运行队列中的进程个数;384 代表系统中进程的总数

4482 代表到此为止创建的最后一个进程的ID.

 

w

 # w

02:14:34 up 126 days, 13:08, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
root tty1 - 29Jul16 114days 0.63s 0.30s -bash
ceshi pts/0 118.247.5.122 02:03 0.00s 0.00s 0.00s w

       USER:用户名  
       TTY:录后系统分配的终端号           
       FROM: 远程主机名(即从哪儿登录来的)
       [email protected]:何时登录
       IDLE:空闲了多长时间,表示用户闲置的时间。

       JCPU:和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所 

                  占用的时间

       PCPU:指当前进程(即在WHAT项中显示的进程)所占用的时间   
       WHAT:当前正在运行进程的命令行

 

tload

# tload

0.23, 0.32, 0.45   

平均负载:0.23, 0.32, 0.45 表示最近1分钟,5分钟,15分钟的系统平均负载.

 

top

# top

top - 21:23:53 up 40 min,  2 users,  load average: 0.19, 0.35, 0.47
        Tasks: 255 total,   1 running, 253 sleeping,   0 stopped,   1 zombie
        %Cpu(s):  1.1 us,  0.3 sy,  0.0 ni, 98.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
        KiB Mem:   4022756 total,  2130488 used,  1892268 free,   192608 buffers
        KiB Swap: 19999740 total,        0 used, 19999740 free.   919724 cached Mem

 

第一行:时间为:21:23:53; 已经运行了 40min; 当前在线用户:2个;  平均负载:0.19, 0.35, 0.47 表示最近1分钟,5分钟,15分钟的系统平

                     均负载.

        第二行:进程总数:255 正在运行进程数:1  睡眠进程数:253 停止的进程数:0  僵尸进程数:1

        第三行:用户空间占用CPU百分比: 1.1%  内核空间占用CPU百分比:0.3%  用户进程空间内改变过优先级的进程占用CPU百分

                     比:0.0%   空闲CPU百分比:0.0  等待输入输出的CPU时间百分比:0.0  CPU服务软中断所耗费的时间总额:0.0% Steal

                     Time:0.0%

        第四行: 物理内存总量:4022756  使用的物理内存总量:2130488  空闲内存总量:1892268   用作内核缓存的内存量:192608
        第五行: 交换区总量:19999740   使用的交换区总量:0          空闲交换区总量:19999740 缓冲的交换区总量:919724    

        第六行: 进程ID、进程所有者、优先级、nice值,负值表示高优先级,正值表示低优先级、进程使用的虚拟内存总量、进程使用的、未被

                      换出的物理内存大小、共享内存大小、进程状态、上次更新到现在的CPU时间占用百分比、进程使用的物理内存百分比、进

                      程使用CPU总时间、命令名、命令行














以上是关于查看系统负载情况的主要内容,如果未能解决你的问题,请参考以下文章

iostat查看系统的IO负载情况

LINUX 查看当前系统的负载情况

linux 查看当前系统的负载情况

vmstat查看分析Linux系统负载性能

查看Linux系统负载

如何查看linux服务器负载