vmstat
1.简介
vmstat命令是最常见的Linux监控工具,可以查看系统的状态值,其中包括:CPU、内存、虚拟内存、I/O情况。
2.参数说明
命令格式:
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
3.相关说明
⑴进程procs
r:运行队列中进程数量。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。
b:等待I/O的进程数量。
⑵内存memory
swpd:使用虚拟内存大小。(单位:KB)
注:如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。
free:空闲物理内存大小(单位:KB)
buff:用作缓冲的内存大小(单位:KB)
cache:用作缓存的内存大小(单位:KB)
注意:如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。
⑶swap
si:每秒从交换区写到内存的大小,有磁盘跳入内存。(单位:KB/s)
so:每秒写入交换区的内存大小,由内存跳入磁盘。(单位:KB/s)
注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。
⑷IO
bi:每秒读取的块数
bo:每秒写入的块数
注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。
⑸系统system
in:每秒中断书,包括时钟中断。
cs:每秒上下文切换数。
注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。
⑹CPU
us:用户进程执行时间百分比。
注意: us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。
sy:内核系统进程执行时间百分比。
注意:sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。
wa:IO等待时间百分比。
注意:wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。
id:空闲时间百分比。
iostat
1.简介
Linux系统中的iostat是I/O Statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也汇报CPU的使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat直接安装。
2.参数说明
命令格式:iostat [参数] [时间] [次数]
命令参数:
3.相关说明
CPU属性值说明
注:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
disk属性值说明
注:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。
netstat
1.简介
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
2.参数说明
top命令
1.简介
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。
top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.
2.参数说明
1.第一行任务队列信息
同uptime命令,如下图:
相关说明:
2.第二行进程信息
3.第三行CPU信息
4.第四五行内存信息
5.第七行
3.相关说明
常用的Linux top命令操作指令:
相关文献
http://www.ha97.com/4512.html
http://blog.csdn.net/lengyuhong/article/details/5855056
http://www.cnblogs.com/peida/archive/2012/12/28/2837345.html
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html
http://os.51cto.com/art/201108/285581.htm
http://blog.csdn.net/tianlesoftware/article/details/6197783