Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux性能监测命令

Linux之性能监测命令解读

作者:G咖喱炒饭

这篇文章主要介绍了Linux之性能监测命令,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一、Mpstat命令

实时系统监控工具,此命令会展现cpu、的一些统计信息,这些信息存放在/proc/stat文件中,在多cpu系统里,其不但能查看所有cpu的平均状况信息,而且能够查看特定cpu信息。

Mpstat语法

mpstat    [-P {|ALL}]     [internal    [count]] 

直接使用mpstat命令

各列的含义:

指定参数查看

mpstat -P ALL 3 3         :查看所有cpu,每三秒查看一次,查看3次。

单独查看 一个cpu

mpstat -P 0 1 2
单独指向一个cpu,需要注意的cpu序号是从0开始的

stress压力测试

stress 是Unix类系统下的工作量和压力测试工具。它可对用户指定的CPU数量的I/O,内存和硬盘进行负载并报告它检测到任何错误。

工具安装:

如果采用YUM安装方式,则需要首先安装epel的扩展源,然后安装stress即可,相关命令如下:
yum install -y epel-release
yum install -y stress

常用参数:

-ccpu产生n个进程,每个进程都反复不停的计算随机数的平方根
-iio产生n个进程,每个进程反复调用 将内存上的内容写到硬盘上
-mvm产生n个进程,每个进程不断分配和释放内存
-ttimout在n秒后结束进程
-dhdd产生n个不断执行 write 和unlink函数的进程(创建文件、写入内容、删除文件

压力测试:

二、iostat命令

iostat主要用于输出磁盘io和cpu的统计信息

iostat命令语法

iostat【选项】【时间间隔】【次数】

cpu属性说明

磁盘属性说明

-x 详细显示说明

只显示磁盘设备 -d

三、iotop

iotop命令是一个用来监视磁盘io使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、O、进程等相关信息。

Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。

如果命令未安装可以从yum仓库进行安装

命令使用方法

Iotop(选项)

iotop常用快捷键:

命令效果:

 四、pidstat

pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存一、线程、设备IO等系统资源的占用情况。

pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。

用户可以通过指定统计的次数和时间来获得所需的统计信息。

Pidstat使用方法

Pidstat 【选项】 【时间间隔】【次数】

常用参数:

-T { TASK | CHILD | ALL }

这个选项指定了pidstat监控的。TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息。ALL表示报告独立的task和task下面的所有线程。

注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。

示例一、查看所有进程的 CPU 使用情况( -u -p ALL)

详细说明 

示例二: 内存使用情况统计(-r)

使用-r选项,pidstat将显示各活动进程的内存使用统计:

示例三:显示各个进程的IO使用情况(-d)

报告IO统计显示以下信息:

示例四:显示每个进程的上下文切换情况(-w)

示例五:显示选择任务的线程的统计信息外的额外信息 (-t)

五、lsof

lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。

是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。

在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。

因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

语法

lsof(选项)

选项描述
-a列出打开文件存在的进程;
-c<进程名>列出指定进程所打开的文件;
-g列出GID号进程详情;
-d<文件号>列出占用该文件号的进程;
+d<目录>列出目录下被打开的文件;
+D<目录>递归列出目录下被打开的文件;
-n<目录>列出使用NFS的文件;
-i<条件>列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号>列出指定进程号所打开的文件;
-u列出UID号进程详情;
-h显示帮助信息
-v显示版本信息
[root@localhost~]# lsof
command     PID USER   FD      type             DEVICE     SIZE       NODE NAME

lsof输出各列信息的意义如下

FD文件描述符列表

文件类型:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文