注册 登录
LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! 返回首页

yw_zzy7186的个人空间 http://bbs.linuxtone.org/?11360 [收藏] [复制] [分享] [RSS]

日志

系统监控命令

热度 2已有 1196 次阅读2010-12-11 21:36 |

衡量一个系统的性能状态,可以从下面两个角度进行分析:
1.系统响应时间:指发出请求时刻到用户获得返回结果所需要的时间。
2.系统吞吐量:是指系统在单位时间内完成的任务数量。
系统监控的主要目的是要找出系统的性能瓶颈。然后有针对性的进行调整。计算机虽然复杂但是关键资源在:cpu,内存,磁盘,和网络。
使用vmstat可以进行对内存,cpu进行监控

vmstat option delay count

[root@PC_IN_LAN ~]#vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0    212  40752   6308 100932    0    0    10     6   62   42  1  7 91  0  0
 1  0    212  40752   6308 100932    0    0     0     0   84   40  0  2 97  0  1
 0  0    212  40752   6308 100932    0    0     0     0   75   34  0  1 99  0  0
procs
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等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
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: Amount of memory swapped in from disk (/s).

so: Amount of memory swapped to disk (/s).
IO
bi 从块设备读入数据的总量(读磁盘)(每秒kb)。
bo 块设备写入数据的总量(写磁盘)(每秒kb)
这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

对于内存监控,需要关心的指标包括:swapd,free,buff,cache,si和so。在正常内存满足系统需求时,是不应该存在频繁的页面交换的,si,so 应该比较小。

如果用作缓存区buff和快速缓存cache的物理内存不断上升,而空闲的物理内存不断减少,说明系统中运行的进程正在不断的消耗物理内存。

如果使用的swapd不断增加的话,而且存在大量的页面交换si和so的话证明物理内存已经不能满足系统需求了,系统必须把物理内存的页面交换到磁盘中去。这是就应该考虑增加内存了。而在监控cpu时主要关注3个指标:运行队列,cpu使用率和上下文切换。当IO等待的cpu时间非常高,而实际运行用户和系统进程的cpu时间不高。而且b>0可以得出结论,系统目前使用率高是由于等待io所造成的,并非由于cpu资源不足,用户应该检查系统中正在进行io操作的进程。并进调整和优化。

找出消耗系统内存前十名的进程:ps aux | sort -k 4 -nr | head -10

找出消耗cpu前十名的进程:ps aux | sort -k 3 -nr | head -10

 

top 作为日常工作中最常用的Linux 系统监控工具之一,可以动态的观察系统进程状况。top命令显示的的内容很多,默认是5秒更新一次,按q后退出。

top选项说明:-d delay :指定命令刷新显示的时间间隔(秒)-n number :指定top命令刷新n次后退出。-u user:只显示user的进程信息。-p pid :top命令只是显示指定的pid进程信息。

其中当前时间为13:40:25,至今已经运行了17小时20分钟,总共有2个用户登录系统。1分钟,5分钟,15分钟的平均负载分别是0.26 ,0.11,0.03.

total:系统当前的进程总数;running:系统正在运行的进程数;sleeping:系统中正在休眠的进程数;stopped:系统中停止的进程数。zombie:系统僵化的进程数。

us:表示用户占用的cpu百分比

sy:表示系统进程占用的百分比

ni:表示改变过优先级的用户进程占用cpu的百分比

id:空闲cpu百分比

wa:等待IO所占用的cpu百分比

hi:硬件中断所占cpu的百分比

si:软件中断所占用的cpu百分比

st:虚拟设备的cpu百分比

mem:

total:物理内存总量

used:已经使用的物理内存

free:空闲的物理内存数量

buffer:用作缓冲区的内存数量

swap:

total:虚拟内存的总数量

used:已经使用的虚拟内存数量

free:空闲的虚拟内存的数量

cached:用作缓存的虚拟内存数量

pid:进程ID

user:进程的运行者

PR:优先级

NI:nice值,-20 是最高级,19 是最低级

VIRT:进程使用的虚拟内存大小

RES:进程使用的物理内存大小

SHR:共享内存大小

S:进程状态

%CPU:进程占用的cpu百分比

%MEM:进程使用的物理内存百分比

TIME+:进程使用总的cpu时间

COMMAND:进程名称

1

路过

鸡蛋

鲜花
1

握手

雷人

刚表态过的朋友 (2 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2019-7-23 10:44 , Processed in 0.010276 second(s), 9 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部