目录
pidstat:关于运行中的进程/任务、CPU、内存等的统计信息;
1.stress --cpu 1 --timeout 600:模拟对1个cpu增加压力,持续600s;
3. 监控所有cpu情况:mpstat -P ALL 5:每5s更新一组数据;
4.查看运行中的所有进程的cpu使用情况:pidstat -u 5 1:
4.查看系统cpu的总体使用情况:mpstat -P ALL 5
5.查看是哪个进程I/O读写高:pidstat -d 1 3(-d参数查看各进程io情况)
cpu使用率是单位时间内cpu繁忙情况的统计,跟系统平均负载不一定完全对应:
1.cpu密集型进程,使用大量cpu,会导致平均负载升高,此时cpu%和load average可对应关系;
2.I/O密集型进程,等待I/O也会导致load average升高,但cpu%使用率不一定高.
3.系统中存在大量等待cpu调度的进程,会使load average平均负载和cpu使用率都升高.
sysstat
是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如:CPU 使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行.
stress是Linux下的一个压力测试工具,可以对cpu、memory、IO以及磁盘进行压力测试,可以指定负载的cpu个数.
-c, --cpu N 产生 N 个进程,每个进程都反复不停的计算随机数的平方根
-i, --io N 产生 N 个进程,每个进程反复调用 sync() 将内存上的内容写到硬盘上
-m, --vm N 产生 N 个进程,每个进程不断分配和释放内存
-t, --timeout N 在 N 秒后结束程序
-d, --hadd N 产生 N 个不断执行 write 和 unlink 函数的进程(创建文件,写入内容,删除文件)
安装stress:yum install -y stress.
安装:yum install -y sysstat.
mpstat:关于CPU的详细信息,单独输出或者分组输出;
pidstat:关于运行中的进程/任务、CPU、内存等的统计信息;
-u 默认的参数,显示各个进程的CPU使用统计
-r 显示各个进程的内存使用统计
-d 显示各个进程的IO使用情况
-p 指定进程号
-w 显示每个进程的上下文切换情况
-t 显示选择任务的线程的统计信息外的额外信息
-T { TASK | CHILD | ALL }
这个选项指定了pidstat监控的。TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息。ALL表示报告独立的task和task下面的所有线程。
注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。
-V:版本号
-h:在一行上显示了所有活动,这样其他程序可以容易解析。
-I:在SMP环境,表示任务的CPU使用率/内核数量
-l:显示命令名和所有参数
1.模拟cpu密集型负载:
1.stress --cpu 1 --timeout 600:模拟对1个cpu增加压力,持续600s;
2.查看系统负载情况:watch -d uptime:
初始信息:
产生压力后系统平均负载信息:
因为此处只模拟对1个cpu施压,1分钟内平均负载为1,说明系统此时过载.
3. 监控所有cpu情况:mpstat -P ALL 5:每5s更新一组数据;
初始信息:
产生压力后信息:
4.查看运行中的所有进程的cpu使用情况:pidstat -u 5 1:
每5s更新1次,只更新1次
初始信息:
产生压力后信息:显示用户态进程stress对cpu使用率为100%.
5.找到原因:是因为stress进程产生压力过大.
_____________________________________________________________________________
2.模拟I/O密集型负载:
1.产生压力:stress -d 1 -t 600:
模拟1个进程对disk做I/O操作,持续600s.
2.查看系统负载情况:watch -d uptime
显示最近1分钟系统过载(2cpu-->2.87)
排查:
3.查看各进程对cpu的使用情况:pidstat -u 1
显示未占用过多cpu调度
4.查看系统cpu的总体使用情况:mpstat -P ALL 5
显示cpu使用率低,但是%iowait高,表示cpu等待I/O读写进程,说明系统正在进行I/O操作.
5.查看是哪个进程I/O读写高:pidstat -d 1 3(-d参数查看各进程io情况)
此处可以看到是stress进程I/O高.
_____________________________________________________________________________