首页 > 系统相关 >mpstat,stress Linux系统调优工具

mpstat,stress Linux系统调优工具

时间:2024-02-28 17:46:05浏览次数:18  
标签:stress 百分比 -- 调优 Linux 工具 mpstat CPU

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

mpstat -P ALL 3 2

参数含义

参数 描述
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系统调优中的作用和用法。

标签:stress,百分比,--,调优,Linux,工具,mpstat,CPU
From: https://www.cnblogs.com/suixinnan/p/18041210

相关文章

  • 2024-02-29-Linux高级网络编程(1-计算机网络概述)
    1.计算机网络概述1.1计算机发展简史最早的广域网:在通信双方或多方之间,通过电路交换建立电路连接的网络。1.1.1电路交换特点建立链接->使用链接->释放链接物理通路被通信双方独占1.1.2电路交换适用于电话网​计算机数据是突发式出现在数据链路上的,而电路交......
  • 安装教程:linux离线安装Redis
    下载地址:https://download.redis.io/releases/redis-7.2.4.tar.gz下载redis压缩包压缩包上传到/usr/local/redis目录解压tar-zxvfredis-6.0.0.tar.gz-C/usr/local/redis切换到/usr/local/redis/redis-6.0.0目录cd/usr/local/redis/redis-6.0.0编译make安装到redis......
  • Linux 常用维护命令
    1、检查cat/etc/passwd这个文件里面有没有异常用户名2、通过命令top查看是否有异常进程,按M键对进程进行排序3、通过命令netstat-lnpt,查看是否有异常端口号4、通过命令ll-a/proc/PID,查看异常进程执行文件所在位置5、通过命令kill-9PID,杀掉该进程6、通过命令find/usr/lo......
  • linux连接wifi
    1.ifconfigwlan0up启动wifi2.iwlistwlan0scanning搜寻wifi(接天线)3.默认情况下,开发板根文件系统/etc目录下会有一个名为“wpa_supplicant.conf”的配置文件,没有的话就自行创建。此文件用于配置要连接的WIFI热点以及对应的密钥。“=”前后一定不能有空格,缩进应该采用空格......
  • linux进程操作
    linux进程操作查看用户进程top//查看系统中实时的进程信息htop//top的增强版,可以交互的方式显示系统中的进程信息ps //列出当前用户的所有进程信息pstree //以树形结构显示当前用户的而所有进程信息pidof //可以查找指定进程名的进程IDhtop安装:sudoapt-getinstallh......
  • becoming a Linux Kernal Hacker (books recommended)
    UnderstandingtheLinuxKernel,ThirdEdition3rdEditionbyDanielBovet(Author),MarcoCesati(Author)https://www.amazon.com/Understanding-Linux-Kernel-Third-Daniel/dp/0596005652/UnderstandingLinuxNetworkInternals:GuidedTourtoNetworkingonLinu......
  • 《Rupture Propagation along Stepovers of Strike-Slip Faults: Effects of Initial
    以往认为阶跃距离临界距离为5km,但是有很多例外。本文主要探索应力对于模型的影响。along-termfaultstressmodel:simulatesteady-statestressperturbationaroundstepovers.这样的应力扰动可以对应更长的阶跃距离。15kmforareleasingstepover;7kmforarestrai......
  • linux基本知识汇总2(系统编程) 60000字汇总
    /////////////进程/任务--task任何启动并运行程序的行为,都是由操作系统帮助我们将程序转换成进程--进程:完成特定的任务进程控制块:PCB(win)/task_struct(linux)--结构体结点/内核数据结构--提取了进程的所有属性task_struct是PCB的一种在Linux中描述进程的结构体叫......
  • linux网络编程基础知识汇总(更新中)
    阿帕网arpanet阿帕网为美国国防部高级研究计划署开发的世界上第一个运营的封包交换网络,它是全球互联网的始祖。局域网LAN(LocalAreaNetwork):通过路由器和交换机把计算机连接在一起广域网WAN(WideAreaNetwork)//广域网和局域网没有明显的界限,是一个相对的概念,一般把......
  • Linux使用命令行编译并用st-link烧录STM32
    创建工程在STM32CubeMX中配置,选择Makefile并生成。环境安装编译工程需要用到arm-none-eabi,去官网下载对应系统版本,下载后解压到任意位置。添加环境变量添加环境变量到.bashrc文件:echo'exportPATH="/toolchain/arm-none-eabi/bin:$PATH"'>>~/.bashrc我解压的位置为/too......