Stress压力工具的部署及使用

Stress压力工具的部署及使用

下载地址:wget https://fossies.org/linux/privat/old/stress-1.0.5.tar.gz

1.部署

进入目录执行./autogen.sh

[root@iZ2ze1pj93eyq389c2ppi5Z stress-1.0.5]# ./autogen.sh 

ps:如果执行过程中缺包,安装对应的包
如报错:./autogen.sh: autoreconf: command not found

yum install autoconf automake libtool

源码安装

[root@iZ2ze1pj93eyq389c2ppi5Z stress-1.0.5]# ./configure 
[root@iZ2ze1pj93eyq389c2ppi5Z stress-1.0.5]# make
[root@iZ2ze1pj93eyq389c2ppi5Z stress-1.0.5]# make install

2.模拟压力命令

执行压力命令 -c 1 启用一个进程进行压测 -t 运行时间

[root@iZ2ze1pj93eyq389c2ppi5Z stress-1.0.5]# stress -c 1 -t 100

下图为压一个内核显示的cpu使用率
在这里插入图片描述

3.监控cpu资源命令

使用mpstat可以查看某一个cpu的资源表现情况

[root@iZ2ze1pj93eyq389c2ppi5Z ~]# mpstat -P 0 1 1

ALL查看每个cpu资源使用情况

[root@iZ2ze1pj93eyq389c2ppi5Z ~]# mpstat -P ALL 1 1

在这里插入图片描述

[root@iZ2ze1pj93eyq389c2ppi5Z ~]# pidstat 1 1

输出消耗cpu资源比较多的进程信息
在这里插入图片描述
总结:
vmstat:统计所有资源利用的情况
mpstat:统计每个cpu内核的资源消耗情况
pidstat:输出消耗cpu资源比较多的进程信息

定位cpu消耗比较高的基本思路:
1).找进程
2).通过进程编号找线程
3).根据线程编号找代码
4).定位代码(JVM知识体系)

4.IO压力测试

IO分网络IO和磁盘IO

[root@iZ2ze1pj93eyq389c2ppi5Z stress-1.0.5]# stress -i 4 -t 100

-i :指定产生N个处理sync()的磁盘I/O进程,sync()用于将内存上的内容写到磁盘上去。
如果内存上没有数据就会搞的系统态资源很高,但是IOWAIT很低。
在这里插入图片描述
为什么系统态消耗资源高?
系统态cpu:执行的内核代码
用户态cpu:执行的应用程序
磁盘IO分为逻辑IO、物理IO
逻辑IO是操作系统发起的IO,这个数据可能会放在磁盘上,也可能会放在内存(文件系统的Cache)里。
物理IO是设备驱动发起的IO,这个数据最终会落在磁盘上。
现在操作是逻辑IO,把缓存的数据写到磁盘上去,当前缓存中没有数据,但是就算没有数据还需要调用内核中的代码来执行写数据的动作,所以产生了很高的内核态的资源利用率

-d:指定产生N个不断执行write和unlink函数的进程(创建文件、写入文件、删除文件)

[root@iZ2ze1pj93eyq389c2ppi5Z ~]# stress -d 1 --hdd-bytes 1024G

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值