- 整机:
- top 系统性能
-
uptime 精简版
HuandeMacBook-Air:~ huanliu$ uptime 12:55 up 20 days, 3:07, 2 users, load averages: 5.37 9.02 13.47 //当前时间 运行总时间 用户数 //load averages 当前的负载均衡 分别取1min,5min,15min的均值,三个值相加/3 >60%说明系统压力过大
- CPU:vmstat
//2表示每个两秒采集一次服务器状态,1表示只采集一次 root@local:~# vmstat 2 1 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 3498472 315836 3819540 0 0 0 1 2 0 0 0 100 0 //实际上,在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了 root@local:~# vmstat 2 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 3499840 315836 3819660 0 0 0 1 2 0 0 0 100 0 0 0 0 3499584 315836 3819660 0 0 0 0 88 158 0 0 100 0 0 0 0 3499708 315836 3819660 0 0 0 2 86 162 0 0 100 0 0 0 0 3499708 315836 3819660 0 0 0 10 81 151 0 0 100 0 1 0 0 3499732 315836 3819660 0 0 0 2 83 154 0 0 100 0
类别 |
项目 |
含义 |
说明 |
Procs(进程) |
r |
等待执行的任务数 |
展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。 |
B |
等待IO的进程数量 |
||
Memory(内存) |
swpd |
正在使用虚拟的内存大小,单位k |
|
free |
空闲内存大小 |
||
buff |
已用的buff大小,对块设备的读写进行缓冲 |
||
cache |
已用的cache大小,文件系统的cache |
||
inact |
非活跃内存大小,即被标明可回收的内存,区别于free和active |
具体含义见:概念补充(当使用-a选项时显示) |
|
active |
活跃的内存大小 |
具体含义见:概念补充(当使用-a选项时显示) |
|
Swap |
si |
每秒从交换区写入内存的大小(单位:kb/s) |
|
so |
每秒从内存写到交换区的大小 |
||
IO |
bi |
每秒读取的块数(读磁盘) |
块设备每秒接收的块数量,单位是block,这里的块设备是指系统上所有的磁盘和其他块设备,现在的Linux版本块的大小为1024bytes |
bo |
每秒写入的块数(写磁盘) |
块设备每秒发送的块数量,单位是block |
|
system |
in |
每秒中断数,包括时钟中断 |
这两个值越大,会看到由内核消耗的cpu时间sy会越多 秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目 |
cs |
每秒上下文切换数 |
||
CPU(以百分比表示) |
us |
用户进程执行消耗cpu时间(user time) |
us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了 |
sy |
系统进程消耗cpu时间(system time) |
sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足 |
|
Id |
空闲时间(包括IO等待时间) |
一般来说 us+sy+id=100 |
|
wa |
等待IO时间 |
wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。 |
- 内存:free
# free //显示内存使用信息 -b以Byte为单位展示内存使用情况 -k以KB为单位展示内存情况 -m以MB为单位展示内存情况 -h 以合适的单位显示内存使用情况,最大为三位数;后面加数字表示几秒执行一次 total used free shared buffers cached Mem: 254772 184568 70204 0 5692 89892 -/+ buffers/cache: 88984 165788 Swap: 524280 65116 459164
Mem | 内存的使用情况 |
-/+ buffers/cache | 表示物理内存已用多少,可用多少 |
Swap | 交换空间的使用情况 |
total | 总量 |
used | 已使用的 |
free | 空闲的 |
shared | 共享的,在linux里面有很多共享内存,比如一个libc库,很多程序调用,但实际只存一份 |
buffers | 缓存,可回收 |
cached | 缓存,可回收 |
- 硬盘:df
// 第一列指定文件系统的名称,第二列表示总大小,第三列表示已使用,第四列表示可用,第五列表示已用百分比,最后一列"安装在"指定的文件系统的挂载点 # df -h //-h使用人类可读的格式 Filesystem Size Used Avail Use% Mounted on /dev/sda6 29G 4.2G 23G 16% / udev 1.5G 4.0K 1.5G 1% /dev tmpfs 604M 892K 603M 1% /run none 5.0M 0 5.0M 0% /run/lock none 1.5G 156K 1.5G 1% /run/shm
- 磁盘IO:iostat
- 网络IO:ifstat
// ifstat安装 wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz tar xzvf ifstat-1.1.tar.gz cd ifstat-1.1 ./configure make make install