mpstat,stress Linux系统调优工具
mpstat,stress Linux系统调优工具
当我们在处理复杂的系统调优工作时,我们需要使用一些专门的工具来帮助我们分析系统的性能和稳定性。在Linux系统中,mpstat和stress是两个非常常用的工具,它们分别用于监测系统的性能和模拟系统的高负载情况。本篇博客将对mpstat和stress这两个工具进行详细介绍,并列举它们的使用命令。
mpstat
mpstat是一个用于监测系统每个CPU核心的性能状况的工具。它可以帮助我们分析系统的负载情况,找出CPU的使用情况以及各个CPU核心的性能表现。以下是一些常用的mpstat命令:
安装mpstat工具:
sudo apt install sysstat
yum install sysstat -y
命令参数
参数 | 描述 |
---|---|
-P | 指定要监控哪个CPU ,范围是 [0~n-1] ,ALL表示监控所有CPU都监控 |
internval | 相邻两次采样的间隔时间 |
count | 采样的次数,count只能和internval一起使用 |
mpstat -P ALL
mpstat -P ALL 3 2 ##-P ALL:统计所有的CPU信息,3:3秒执行一次,2:执行两次
每隔一段时间显示CPU使用情况,并持续显示:
mpstat 5
参数含义
参数 | 描述 |
---|---|
CPU | 显示的是某个CPU 还是全部CPU all=全部 |
%usr | 表示用户所有使用的CPU百分比 |
%nice | 表示使用 nice 值的 CPU 的百分比 |
%sys | 表示内核进程使用的 CPU 百分比 |
%iowait | 表示等待进行 I/O 所使用的 CPU 时间百分比 |
%irq | 表示用于处理系统中断的CPU百分比 |
%soft | 表示用于软件中断的CPU百分比 |
%steal | 虚拟机强制CPU等待的时间百分比 |
%guest | 虚拟机占用CPU时间的百分比 |
%gnice | CPU运行niced guest虚拟机所花费的时间百分比 |
%idle | CPU的空闲时间的百分比 |
注: mpstat主要用在当系统变慢,平均负载增大时,我们想判断到底是CPU的使用率增大了,还是IO压力增大的情况。
stress 压力测试
stress是一个用于模拟系统高负载情况的工具,它可以帮助我们评估服务器的性能和稳定性。我们可以使用stress工具来模拟CPU、内存、磁盘和I/O等各个方面的高负载情况。以下是一些常用的stress命令:
安装stress工具:
sudo apt install stress
yum install -y epel-release #需要先下载所需要的依赖包否则直接下载stress软件包工具不成功
yum install -y stress
离线安装包下载,安装完后命令改为:stress-ng
Linux压测工具.rar: (访问密码: 2344)
参数
参数 | 详解 |
---|---|
-c --cpu | 产生n个进程,每个进程都反复不停的计算随机数的平方根 |
-i --io | 产生n个进程,每个进程反复调用 将内存上的内容写到硬盘上 |
-m -vm | 产生n个进程,每个进程不断分配和释放内存 |
-t --timout | 在n秒后结束进程 |
-d --hdd | 产生n个不断执行 write 和unlink函数的进程(创建文件、写入内容、删除文件) |
模拟8个CPU核心的高负载情况,持续10秒:
stress --cpu 8 --timeout 10s
模拟内存和I/O的高负载情况,持续10秒:
stress --io 4 --vm 2 --vm-bytes 128M --timeout 10s
模拟大量进程使用
当系统中运行进程超出 CPU 运行能力时,就会出现等待 CPU 的进程。比如,我们还是使用 stress,但这次模拟的是 30 个进程
stress -c 30 --timeout 600
通过以上两个工具的使用,我们可以很好地监测系统的性能状况,同时模拟出系统在高负载情况下的表现。这对于系统的调优和性能优化是非常有帮助的。然而,在使用这些工具时,需要格外小心谨慎,以免对实际的生产环境造成影响。在进行测试之前,最好先备份好重要的数据,避免因为误操作导致不可逆的损失。希望本篇的内容能够帮助大家更深入地了解mpstat和stress工具在Linux系统调优中的作用和用法。