做系统优化,必须首先要知道系统的瓶颈在哪里,是CPU处理能力太低?还是IO吞吐太小?本文将介绍监控系统性能的工具。
top:
查找系统性能的瓶颈,经常使用的判别工具是top。只要在命令行输入top,再回车,就会显示系统现在的负载情况。
top 显示的系统信息包括运行时间、进程的数量和状态、CPU周期的百分比和每个进程占用的存储空间、每个进程运行的时间,以及大量的其它信息。进程是按使用资源的多少来排列的,显示每5秒钟自动更新一次。在显示过程中,也可以按下空格键手动更新显示。在查找并解决系统性能故障时,这些信息是相当有用的。
大家可以看到显示的系统情况,运行中的进程有正在使用的top程序,140个进程,1个运行,其他都是休眠,这里还可以看到内存和swap的使用情况。
/proc/cpuinfo:
通过查看/proc/cpuinfo文件,可以得到CPU的型号,主频,缓存等信息。
free:
使用free命令可以查看系统中内存空间的大小。其中,Mem行中的total栏显示了当前Linux正在使用的RAM总量。used栏显示的是被占用的内存空间,但Mem行与这一栏结合并不能产生最好的分析结果,因为其中包含了Linux分配给磁盘缓冲区的一部分分区。在大多数系统中,used栏显示的值和total栏的值相当。然而,我们可以核对used栏、-/+buffers/cache行对应的值来查看有多少内存处于使用状态(used栏、 Swap栏对应的数值)。这一部分是作为内存来用的磁盘,而磁盘速度比内存慢,所以优先使用物理内存,交换内存则使用得较少。
vmstat:
获取内存、swap等系统数据信息。用法是vmstat delay count,其中delay表示时间间隔,count表示次数。例如,# vmstat 3 4 就表示3秒获得一次IO统计,总共统计4次。
sar:
sar命令功能很强大,但是参数比较多,用法很多,有时判断一个问题,需要几个sar命令结合起来使用,比如,怀疑CPU存在瓶颈,可用sar -u 和sar -q来看,怀疑I/O存在瓶颈,可用sar -b、sar -u和
sar-d来看:
sar参数对照表:
-A 所有的报告总和
-a 文件读,写报告
-B 报告附加的buffer cache使用情况
-b buffer cache使用情况
-c 系统调用使用报告
-d 硬盘使用报告
-g 有关串口I/O情况
-h 关于buffer使用统计数字
-m IPC消息和信号灯活动
-n 命名cache
-p 调页活动
-q 运行队列和交换队列的平均长度
-R 报告进程的活动
-r 没有使用的内存页面和硬盘块
-u CPU利用率
-v 进程,i节点,文件和锁表状态
-w 系统交换活动
-y TTY设备活动
hdparm:
该命令主要是修改IDE硬盘属性的,因此在现在的主流的SAS硬盘或者SCSI硬盘中,应用的很少了。但是用户也可以通过它,获得硬盘和缓冲的读写速度。如果用户对于自己的应用程序读写速度有怀疑,就可以通过它来排斥硬盘问题。
# hdparm -T /dev/sda(获得缓存读的速率)
# hdparm -t /dev/sda (获得硬盘sda的读的速率)
来源:oschina
链接:https://my.oschina.net/u/2408078/blog/540165