衡量Linux系统性能

只谈情不闲聊 提交于 2020-04-28 05:19:20

做系统优化,必须首先要知道系统的瓶颈在哪里,是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的读的速率)


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!