本文汇总工作可能会使用到的linux性能查询指令,并给出指令的实际用例与输出解释,本文将长期更新,限于作者水平有限,文中有描述不准确的地方欢迎指出,共同学习提高。

1、tsar指令

tsar是淘宝开发的用来收集服务器系统信息(mem、cpu、io、tcp)的工具,如下图所示的命令可以输出tsar的帮助信息

上图中可以看出tsar可以监控系统的cpu使用情况、物理内存&虚拟内存的使用、TCP&UDP的ipv4使用情况、网络传输情况、当前系统的io性能、进程的上下文切换情况、TCP连接的相关数据以及系统负载情况等。可以说是一个比较全的监控指令。

我们以下图为例介绍具体一些指标的含义;

命令中的-l表示查看实时数据,-i则指明数据显示的时间间隔,可以看出上面的指令分别列出了内存、网络传输和cpu load的情况。

mem列下描述了系统的内存使用情况,共六列,其中free表示内存的可用量,used表示内存的使用量,total表示内存的总量,util是利用率。buff和cache是两个比较容易混淆的指标,其中buff是用于存放要输出到disk(块设备)的数据,而cache存放从disk上读出的数据。

 traffic描述了网络传输情况bytin是输入字节数、bytout是输出字节数、pktin/pktout描述的是峰值输入/输出字节、pkterr/pktdrp描述的出现错误的传输数。

load列描述系统负载情况,load1、load5&load15分别表示过去1分钟、5分钟、15分钟的系统平均负载,runq是运行队列的平均长度,plit是进程列表中进程&线程的数量。

tsar的源码地址在这里:http://code.taobao.org/p/tsar/src/trunk/,有功夫会分析一下tsar的源码

2、iostat命令

显示磁盘io相关的数据,一般的使用方式示例:iostat -x 1

其中1表示每一秒刷新一次,命令输出结果如下图:


其中比较关注的是最后一列%util,表示一秒之中有百分之多少的时间用于IO操作,如果%util接近100%,表示I/O请求太多,I/O系统已经满负荷。

3、vmstat

查看服务器的状态,结果较为全面,包括了CPU使用率,内存使用,虚拟内存交换情况和io读写等等。

使用参数包括两个数字,第一个是采样间隔,单位是s,第二个是采样次数,示例如下:



Logo

更多推荐