一、stress(cpu)

stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户。

下载地址
http://people.seas.harvard.edu/~apw/stress/

进入到usr/local/bin目录下:  #cd /usr/local/src

上传stress压缩包:    #rz

解压缩包:      #tar  -xzpvf  stress-1.0.4.tar.gz

进入到已解压的文件夹:    #cd stress-1.0.4

输入./configure进行配置 :  #./configure

然后进行以下命令输入:

#make

#make check

#make install

最后输入:stress --version 验证是否安装成功

命令参数:

-?
--help 显示帮助信息
--version 显示软件版本信息
-t secs:
--timeout secs指定运行多少秒
--backoff usecs 等待usecs微秒后才开始运行
-c forks:
--cpu forks 产生多个处理sqrt()函数的CPU进程
-m forks
--vm forks:产生多个处理malloc()内存分配
-i forks
--io forks:产生多个处理sync()函数的磁盘I/O进程
--vm-bytes bytes:指定内存的byte数,默认值是1
--vm-hang:表示malloc分配的内存多少时间后在free()释放掉
-d :
--hdd:写进程,写入固定大小,通过mkstemp()函数写入当前目录
--hdd-bytes bytes:指定写的byte数,默认1G
--hdd-noclean:不要将写入随机ascii数据的文件unlink,则写入的文件不删除,会保留在硬盘空间。

>>>>>>安装过程中遇到的坑:

1、yum安装会出现yum源的问题导致安装不成功,如何解决呢?

博客:https://www.cnblogs.com/dadong616/p/5062727.html

2、没有make命令

练习::

1、stress --cpu 1 --timeout 600  分析现象?负载为啥这么高?top命令查看用户进程消耗的cpu过高(stress进程消耗的)

2、stress -i 1 --timeout 600  分析现象?top看负载升高,内核cpu过高?       iostat -x     stress消耗cpu多,iowait 等待        pidstat -d

3、stress -c 8 --timeout 600

案例:vu增加,tps降低,响应时间增加?

打印tomcat的整体响应时间,再打印接口的处理时间。

tomcat从1秒增加到8秒。

原因最后:线程池的上下文切换导致的线程等待时间过长。

4、sysbench --threads=10 --max-time=300 threads run

cswch自愿上下文切换:进程无法获取资源导致的上下文切换,比如;I/O,内存资源等系统资源不足,就会发生自愿上下文切换。

nvcswch非自愿上下文切换:进程由于时间片已到,被系统强制调度,进而发生的上下文切换 ,比如大量进程抢占cpu。

5、vmstat 默认看的是

pidstat -w 默认看的是进程的上下文切换

pidstat -wt -t参数看线程的上下文切换

6、python3 脚本运行分析

app.py

负载上来,top 定位到磁盘有问题

iostat -x 3 定位到写操作有问题

pidstat -d  中断不可恢复的情况比较多,定位到python进程的写操作有问题

和写操作有关,则和程序里的方法有问题

strace -p  pid  跟踪进程   ,可以看到是大量的写操作,往log.txt里写文件导致的

查看代码,分析分析,可以看到代码中的写入大小

分析流程:

负载-cpu-b(中断不可恢复的进程比如io)

负载高-cpu-iowait-io-(中断、上下文切换、读写)-(pidstat -d)定位到某个进程的写-(strace 跟踪进程,定位到写哪个文件)-查看源码,定位到写这个文件的代码块。

7、

8、

转载于:https://www.cnblogs.com/wuzm/p/11096276.html

stress命令安装相关推荐

  1. linux stress 命令 模拟系统高负载

    stress 命令主要用来模拟系统负载较高时的场景,本文介绍其基本用法.文中 demo 的演示环境为 ubuntu 18.04. 基本语法 语法格式: stress <options> 常 ...

  2. adb avd install 失败_ADB命令安装APK常见错误总结

    通过adb命令安装应用过程: 常见问题以及原因: ​ 没有找到设备,查看是否开启调试,或者数据线有问题 Failure [INSTALL_FAILED_ALREADY_EXISTS]:应用已经存在,需 ...

  3. dos系统不能安装python模块,无法使用pip命令安装python第三方库的原因及解决方法...

    再dos中无法使用pip,命令主要是没有发现这个命令.我们先找到这个命令的位置,一般是在python里面的scripts文件夹里面.我们可以把dos切换到对应的文件夹,再使用pip命令就可以了. 如果 ...

  4. 安装java的rpm_Centos7使用rpm命令安装java

    Centos7使用rpm命令安装java l2qq · 2019-10-23 10:16 字数 2148 评论 0 收藏 0 点赞 0 Centos7使用rpm命令安装java 第一步:下载jdk 官 ...

  5. 在ubuntu系统中使用dpkg命令安装后缀名为deb的软件包

    在ubuntu系统中使用dpkg命令安装后缀名为deb的软件包: dpkg命令常用格式如下: #查看文件结构(其中-c等价于--contents) sudo dpkg -c xx.deb #安装软件包 ...

  6. python中安装一个第三方库的命令格式是-无法使用pip命令安装python第三方库的彻底解决方案...

    无法使用pip命令安装python第三方库的原因及解决方法 再dos中无法使用pip,命令主要是没有发现这个命令.我们先找到这个命令的位置,一般是在python里面的Scripts文件夹里面.我们可以 ...

  7. Tree命令安装和使用

    Tree命令简介 tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_colors设置环境变量和输出是TTY.树已经被移植和报道以下操作系统下工作: ...

  8. CentOS下用yum命令安装jdk

    一.使用yum命令安装 1.查看是否已安装JDK,卸载 [plain] view plain copy [root@192 ~]# yum list installed |grep java [pla ...

  9. 命令行用pip命令安装mysql_使用pip install mysqlclient命令安装mysqlclient失败?(基于Python)...

    我们使用Django.flask等来操作MySQL,实际上底层还是通过Python来操作的.因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序.在Python3中,驱动程序有多种 ...

最新文章

  1. Rocksdb 的 rate_limiter实现 -- compaction限速
  2. koa源码阅读之koa-compose/application.js
  3. 【mysql学习-2】
  4. 冒泡排序的多种写法、逻辑
  5. DMDW集群配置到DEM
  6. php中add函数,php中addslashes()和addclashes()函数的区别分析
  7. SAP Commerce Cloud Spartacus UI footer 区域的设计模型
  8. Hadoop(5)-Hive
  9. “通信大数据”征文通知
  10. MySQL笔记-centos7安装MySQL5.7.25(glibc版)
  11. linux chromium安装falsh插件
  12. AD中如何查看快捷键
  13. rust建深海_rust怎么移动自己的领地柜 | 手游网游页游攻略大全
  14. MAC 打开safari和Chrome打开开发者工具的快捷键
  15. Python入门--字符串的判断操作
  16. C#TcpClien网络通信之内存泄漏
  17. 插件Sytrus合成器功能介绍
  18. Win11重启快捷键是什么?
  19. 论文阅读笔记------摄影测量与深度学习
  20. java判断英文符号_Java判断中英文符号、标点的实现

热门文章

  1. XP sp3共享最大连接数修改工具 EvID4226Patch.exe
  2. qq群如何引流?QQ群如何精准引流?如何利用QQ群来引流?
  3. 「蚂蚁金服」热搜的背后:「李开复」到底是不是口误?
  4. [ MessAuto ]: 短信验证码自动填充,理论支持所有浏览器或 APP, Only For Mac
  5. 迷茫?生命科学如何破局冰山!道翰天琼认知智能机器人平台API接口大脑为您揭秘-64
  6. EasyDSS视频点播服务器软件实现的多码率视频转码点播功能原理的说明
  7. 细胞重编程技术方法学评估
  8. CSS基础-02-基础选择器
  9. 员工激励四大原则和十个措施
  10. PyQt5桌面应用开发(17):中文书评+类结构+QWebEngineView