查看LINUX当前负载

Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。

[root@ok Desktop]# w
 20:41:47 up  2:48,  2 users,  load average: 1.66, 1.55, 1.44
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     :0               17:54    2:48m  7:55   7:55  /usr/bin/Xorg :0 -br -verbose -audit 4 -auth /var/run/gdm/auth-for-gdm-upUfeI/database -nolisten tcp
root     pts/0    :0.0             17:54    0.00s  0.26s  0.01s w
[root@ok Desktop]# uptime
 20:41:54 up  2:48,  2 users,  load average: 1.69, 1.56, 1.44

load average:后面的三个数值的含义是最近1,5,15分钟系统的负载值。这个值的意义是,单位时间段内CPU活动进程数。如果你的机器为单核,那么只要这几个值均<1,代表系统就没有负载压国,如果你的机器为N核,那么必須是这几值均<N才可以为系统没有负载压力。

top命令下,按1,则可以展示岀服务器有多少CPU,并显示每人CPU的使用情况:

top - :: up  :,   users,  load average: 1.97, 1.81, 1.60
Tasks: total, running, sleeping, stopped, zombie
Cpu0 : 39.6%us, 3.5%sy, 0.0%ni, 56.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 26.0%us, 5.9%sy, 0.0%ni, 66.7%id, 1.2%wa, 0.0%hi, 0.2%si, 0.0%st
Cpu2 : 8.9%us, 4.8%sy, 0.0%ni, 86.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 8.2%us, 4.3%sy, 0.0%ni, 87.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 11878796k total, 3487176k used, 8391620k free, 118840k buffers
Swap: 3751932k total, 0k used, 3751932k free, 795880k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root 1828m 627m 59m S 46.4 5.4 :09.19 firefox
root 1112m 174m 26m S 29.2 1.5 :40.58 plugin-containe
root 171m 29m S 7.8 0.3 :50.73 Xorg
qemu 2419m 564m S 5.6 4.9 :57.35 qemu-kvm
qemu 1159m 291m S 5.6 2.5 :05.87 qemu-kvm
qemu 1575m 393m S 5.4 3.4 :51.81 qemu-kvm
root 302m 13m S 1.4 0.1 :08.92 gnome-terminal
root S 0.2 0.0 :01.39 events/
root S 0.2 0.0 :00.74 events/
root 2445m 21m S 0.2 0.2 :14.09 asterisk
root 349m 14m 10m S 0.2 0.1 :08.04 wnck-applet
root R 0.2 0.0 :01.16 top
root S 0.0 0.0 :01.23 init
root S 0.0 0.0 :00.01 kthreadd
root RT S 0.0 0.0 :00.47 migration/
root S 0.0 0.0 :00.17 ksoftirqd/
root RT S 0.0 0.0 :00.00 stopper/
root RT S 0.0 0.0 :00.01 watchdog/
root RT S 0.0 0.0 :00.40 migration/
root RT S 0.0 0.0 :00.00 stopper/
root S 0.0 0.0 :00.22 ksoftirqd/
root RT S 0.0 0.0 :00.01 watchdog/
root RT S 0.0 0.0 :00.23 migration/
root RT S 0.0 0.0 :00.00 stopper/
root S 0.0 0.0 :00.27 ksoftirqd/
root RT S 0.0 0.0 :00.00 watchdog/

一般而言,服务器的合理负载是CPU核数*2。也就是说对于8核的CPU,负载在16以内表明机器是运行很稳定流畅。如果负载超过16了,就说明服务器的运行有一定的压力了。

[root@ok Desktop]# w
column window is too narrow
这个是窗口太小的意思
解决方法:
放大窗口
要不使用这个命令w|cat
[root@ok Desktop]# w
column window is too narrow
[root@ok Desktop]# w|cat
:: up :, users, load average: 1.19, 1.43, 1.41
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 : : :51m : : /usr/bin/Xorg :
root pts/ :0.0 : .00s .26s .01s w

查看cpu负载:

[root@ok Desktop]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st

r列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要需加cpu.

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

cpu表示cpu的使用状态

us列显示了用户方式下所花费CPU的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%, 需要考虑优化用户的程序。

sy列显示了内核进程所花费的cpu时间的百分比。这里us+sy的参考值为80%,如果us+sy大于80%说明可能存在CPU不足。

wa列显示了IO等待所占用的CPU时间的百分比。这里wa参考值为30%,如果wa大于30%,说明io等待严重,这可能是磁盘大随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(注要是块操作)

正常的时间:

ot@ok Desktop]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
上一篇:c# float显示时保存一位小数


下一篇:jQuery-3.事件篇---自定义事件