1 uptime

wKioL1fgw3fwvbbVAAAZWCpL97A875.png

  1. 当前时间 13:02:42

  2. 系统已运行的时间 11 days, 19:00

  3. 当前在线用户 2 users

  4. 平均负载:0.43, 0.25, 0.23,最近1分钟、5分钟、15分钟系统的负载

一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内核,也就是如果你的主机是四核cpu的话,那么只要 uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.

2  vmstat 8 每8秒刷新一次

wKioL1fg5y-SGk3mAAB1s-afKwE223.png

对输出解释如下:

1)procs

a.r列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,就说明CPU资源不足,可以考虑增加CPU;

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

2)memory

a.swpd列表示切换到内存交换区的内存数量(以KB为单位)。如果swpd的值不为0或者比较大,而且si、so的值长期为0,那么这种情况一般不用担心,不会影响系统性能;

b.free列表示当前空闲的物理内存数量(以KB为单位);

c.buff列表示buffers cache的内存数量,一般对块设备的读写才需要缓冲;

d.cache列表示page cached的内存数量,一般作文件系统的cached,频繁访问的文件都会被cached。如果cached值较大,就说明cached文件数较多。如果此时IO中的bi比较小,就说明文件系统效率比较好。

3)swap

a.si列表示由磁盘调入内存,也就是内存进入内存交换区的数量;

b.so列表示由内存调入磁盘,也就是内存交换区进入内存的数量

c.一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示系统内存不足,需要考虑是否增加系统内存。

4)IO

a.bi列表示从块设备读入的数据总量(即读磁盘,单位KB/秒)

b.bo列表示写入到块设备的数据总量(即写磁盘,单位KB/秒)

这里设置的bi+bo参考值为1000,如果超过1000,而且wa值比较大,则表示系统磁盘IO性能瓶颈。

5)system

a.in列表示在某一时间间隔中观察到的每秒设备中断数;

b.cs列表示每秒产生的上下文切换次数。

上面这两个值越大,会看到内核消耗的CPU时间就越多。

6)CPU

a.us列显示了用户进程消耗CPU的时间百分比。us的值比较高时,说明用户进程消耗的CPU时间多,如果长期大于50%,需要考虑优化程序啥的。

b.sy列显示了内核进程消耗CPU的时间百分比。sy的值比较高时,就说明内核消耗的CPU时间多;如果us+sy超过80%,就说明CPU的资源存在不足。

c.id列显示了CPU处在空闲状态的时间百分比;

d.wa列表示IO等待所占的CPU时间百分比。wa值越高,说明IO等待越严重。如果wa值超过20%,说明IO等待严重。

e.st列一般不关注,虚拟机占用的时间百分比。 (Linux 2.6.11)

3 top

wKiom1fg7HuBZiLQAAETGUeJxcs917.png

按1查看每个cpu

wKiom1fg7MiSM1zNAAF6OfIY880236.png

shift+p CPU 排序

wKiom1fg7QyimME3AADk9IAgvz4803.png

shift+m 内存排序

wKiom1fg7fXie3LUAAD_lACgUAU595.png

4 free  -m  单位是M

wKioL1fg7kuBhBCJAAAlSp6xdhI608.png