Linux下各种性能监控的命令(整理)

关于监控的文章 http://os.51cto.com/art/201012/239880.htm

1. 内存检查:free -m

注意,重点看的是第二行,-/+ buffers/cache行,第一个数字是实际消耗的内存,第二个是实际空闲的内存。

2. 系统进程监控 top (负载也可以用w和uptime  load average:0.0  0.0 0.0 )

三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟),它们的数字当然是越小越好。“有多少核心即为有多少负荷”法则: 在多核处理中,你的系统均值不应该高于处理器核心的总数量

进程使用的内存可以用top,有3个列VIRT RES SHR, 标示了进程使用的内存情况, VIRT标识这个进程可以使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等. RES标识这个这个进程真实占用内存的大小. SHR标识可以和别的进程共享的内存和库大小.


Top命令注意看输出的第二、第三行。第二行(Tasks)表示系统运行的进程数,这个数值一般不能太大,比如超过300、甚至400-500,这个比较容易理解,我们一般开启的服务、进程外加系统进程都不会太多,太多肯定有问题。第三行表示CPU的使用情况。
Top可以按 M按内存使用排序,P按CPU使用情况排序。

3. 进程监控加强版 htop
htop提供了比top更强大的功能,推荐安装。能排序、查找、显示进程树等功能。
htop还有一个强大的功能的,就是strace,按s可以直接对选中进程进行strace。

strace效果图如下:

 

4. 找出害群之马 (ps命令)
如果通过top、htop、free以及iostat、vmstat(后面会讲)对系统分析后,我们接下来就要找系统的问题进程了。在top、htop中我们一般可以直观的看出到底是那个进程出问题了,不过有时这两个命令不能完全确定,我们还要使用ps确认系统中的最差进程。

自定义输出格式 -o 可以定义我们想要显示的列,列名基本和输出的表头一样,只是要小写,如下:
ps -A -o %mem, %cpu

找到实例运行过多的进程(服务器监测特别有用)

可以看到httpd进程比较多,(uniq可能是只要各行的,不再计重复行,重新数),因此我们可以再加个sort (k表示按那一列排序),如下:

这样httpd进程可以看到18个,有助于我们找到异常的服务器行为。如果要区分用户,可以加一个output,如:

ps -A -o user,comm |sort -k2| uniq -c |sort -k1 -rn

找到内存使用最多的进程

ps -eo rss,pmem,pcpu,vsize,args |  sort -k 1 -r -n

同理,找到CPU消耗最多的进程

ps -eo rss,pmem,pcpu,vsize,args |  sort -k 2 -r -n

(其实主要的是理解sort -k和ps -o就可以)

4. IO监控iostat
iostat也是系统监控常用的命令,可以看到各个磁盘的IO情况,其他参数不再赘述,主要说明一个参数。iostat -x会输出 %util列。
定义:
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
一般情况下,%util应该越小越好,10%以下正常,30%IO比较繁忙。50%以上一般是有问题的。可以配合%idle,该值过小系统肯定是有问题的。

5. vmstat 系统监控
vmstat和IO差不过,不过重点是监控cpu、内存等系统资源。
对内存监控,我们比较关心swpd、free、si、so。一般系统不繁忙的状态下,我们看到swpd,so的值不会持续很高,经常为0。如果swpd过高,那么就是系统内存经常不够用。
对CPU监控,我们可以查看r(运行进程数)、us、sy、id(空闲CPU),如果r的数字大于系统CPU个数,则面临CPU不够用的危险,通过id(CPU空闲比例)分析,如果过小,则可以判断是CPU不足。
其他参数不再赘述。

6. 网络流量监控 iftop
最后我们谈一下网络流量的监控,网络流量对于系统来说也是很重要的。请安装iftop来监控网络浏览资源。由于界面缩放比较困难,从网上找了一张图参考:

中间的这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

其中有几个命令比较有用,按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;按T切换是否显示每个连接的总流量;按p切换是否显示端口信息。其他的命令可以按h进入帮助查看。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值