CentOS 性能监测命令

1.实时监测命令(watch)

-d 高亮显示变化

-n 间隔多久(s) 执行后面的command

#每隔1秒显示空间使用情况并列出当前目录下的列表信息

EX:watch -d -n 1 'df -h; ls -l'

2.系统内存使用状况(free)

-b 以字节为单位显示数据

-k 以千字节(KB)为单位显示数据(缺省值)

-m 以兆(MB)为单位显示数据

-s 该选项将使free持续不断的刷新,每次刷新之间的间隔为delay指定的秒数,如果含有小数点,将精确到毫秒,如0.5为500毫秒,1为一秒。

#每隔1.5秒以KB为单位查看内存使用情况

EX:free -k -s 1.5 

3.CPU的实时监控工具(mpstat)

#每隔2秒输出一次CPU的当前运行状况信息,一共输出5次,如果没有第二个数字参数,mpstat将每隔两秒执行一次,直到按CTRL+C退出

EX:mpstat 2 5

4.  虚拟内存的实时监控工具(vmstat)

#为每隔1秒输出一条,一共输出3条后程序退出

EX:vmstat 1 3 

vmstat命令用来获得UNIX系统有关进程、虚存、页面交换空间及CPU活动的信息。这些信息反映了系统的负载情况。vmstat首次运行时显示自系统启动开始的各项统计信息,之后运行vmstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

 

 5.  设备IO负载的实时监控工具(iostat)

#每隔1秒刷新并输出结果一次,输出3次后iostat退出

EX:iostat 1 3 

6.  当前运行进程的实时监控工具(pidstat)

pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息

-l 显示该进程和CPU相关的信息(command列中可以显示命令的完整路径名和命令的参数)。

-d 显示该进程和设备IO相关的信息。

-r 显示该进程和内存相关的信息。

-w 显示该进程和任务时间片切换相关的信息。

-t 显示在该进程内正在运行的线程相关的信息。

-p 后面紧跟着带监控的进程id或ALL(表示所有进程),如不指定该选项,将监控当前系统正在运行的所有进程。

#监控pid为1(init)的进程的设备IO资源负载情况,其中每隔2秒刷新并输出一次,3次后程序退出

EX:pidstat -p 1 2 3 -d

7.全面地获取系统的CPU、运行队列、磁盘 I/O、分页(交换区)、内存、 CPU中断和网络等性能数据。(sar)

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

#查看CPU情况 1秒一次查看10次 并将结果输出到sar.out

EX:sar -u 1 10 -f ./sar.out

 8.当前系统运行情况 (uptime)

当前时间,系统已经运行了多久,多少用户连接目前正在使用系统,系统在过去1,5,15分钟内的平均负载

-p:以比较友好的格式输出
-h: 显示帮助选项
-s:系统启动时间
-V:版本信息

9.监控用户空间进程和内核的交互(strace)

EX:strace -tt -T -v -f -e trace=file -o /data/log/strace.log -s 1024 -p 23489

-tt 在每行输出的前面,显示毫秒级别的时间
-T 显示每次系统调用所花费的时间
-v 对于某些相关调用,把完整的环境变量,文件stat结构等打出来。
-f 跟踪目标进程,以及目标进程创建的所有子进程
-e 控制要跟踪的事件和跟踪行为,比如指定要跟踪的系统调用名称
-o 把strace的输出单独写到指定的文件
-s 当系统调用的某个参数是字符串时,最多输出指定长度的内容,默认是32个字节
-p 指定要跟踪的进程pid, 要同时跟踪多个pid, 重复多次-p选项即可。

附:

原文地址:https://www.cnblogs.com/tudachui/p/9915271.html