zoukankan      html  css  js  c++  java
  • linux stress 压测命令的使用

    一、stress工具安装:
    1、获取stress源码安装包(stress-1.0.4.tar.gz)
    3、解压并安装

    [root@localhost /]#cd /tmp/
    [root@localhost tmp]#tar –zxvf stress-1.0.4.tar.gz

    4、进入stress-1.0.4文件夹下,编译并安装stress

    [root@localhost tmp]#cd /tmp/stress-1.0.4/
    [root@localhost stress-1.0.4]#./configure
    [root@localhost stress-1.0.4]# make
    [root@localhost stress-1.0.4]#make install

    默认安装在:/usr/local/bin/stress
    二、stress工具使用:
    命令:taskset –c 逻辑CPU索引号 stress --timeout 持续时间 --cpu 1
    参数说明:
    -c 服务器逻辑CPU的索引号
    --timeout 对CPU施加压力的持续时间
    --cpu stress进程数,若值为2,每个stress进程所有消耗的逻辑CPU资源平分
    如:对索引为0的逻辑cpu施加压力, 持续30秒

    taskset -c 0 stress --timeout 30 --cpu 1

    通过top 1可以查看到索引为0的CPU的利用率

    按作业指导书安装完系统以后,假设“/var”分区是系统中最大的分区,按以下方式之

    一运行stress(建议使用第三种方式):

    Step9 #cd /var

    Step10 #mkdir test //建立测试目录“test”//

    Step11 #cd test

    Step12-1 #stress -d 1 --hdd-noclean --hdd-bytes 800k // 方式一: 主要

    测试硬盘,通过mkstemp()生成800K大小的文件,写入硬盘,对CPU,

    内存的使用要求很低 //

    Step12-2 #stress -c 4 -i 4 -d 1 --hdd-noclean --hdd-bytes 800k

    // 方式二:增大“c”,“i”值会提高CPU的使用率;增大“d”值会

    减少CPU的使用率,而增加对硬盘的数据写入量,但是对内存都要

    求不高 //

    Step12-3 #stress -c 1 -i 1 --vm 6 --vm-bytes 128M -d 2 --hdd-noclean

    --hdd-bytes 800k //方式三:增大“vm”,“--vm-bytes”

    的值或采用选项“—vm-hang”都会提高内存的使用率//

    运行过程中,您可以通过按“Alt+Ctrl+F*”进入其他终端,执行“df”命令,查看磁

    盘是否已满(/var是否已满),如果磁盘已满,则程序“stress”会报错并终止;

    执行以下操作,清空测试目录,如果需要;进入到测试目录下,继续运行“stress”进

    行测试:

    Step13 #cd

    Step14 #chmod -R 755 /var/test

    Step15 #rm -R -f /var/test/

    Step16 #cd /var/test/

    Step17 #stress -c 1 -i 1 --vm 6 --vm-bytes 128M -d 2 --hdd-noclean

    --hdd-bytes 800k //重新运行//

    出货时,只需要删除相关的测试目录即可,Stress可以保留在系统中,也可以使用以

    下方式删除:

    Step18:#rm -R -f /usr/local/src/stress-0.18.1/

    Step19:#rm -f /usr/local/bin/stress

    Step20: #rm -f /usr/local/src/stress-0[1].18.1.tar.gz

    完毕

    附:Stress使用说明

    Stress 选项说明:

    -?

    --help 显示帮助信息

    --version 显示软件版本信息

    -v

    --verbose 显示详细运行信息

    -q

    --quiet 不显示运行信息

    -n

    --dry-run 显示已经完成的指令执行情况

    -t secs

    --timeout secs 指定运行多少秒

    --backoff usecs 等待usecs微秒后才开始执行

    -c forks

    --cpu forks

    产生多个处理sqrt()函数的CPU进程

    -i forks

    --io forks

    产生多个处理sync()函数的磁盘I/O进程

    -m forks

    --vm forks

    产生多个处理malloc()内存分配函数的进程

    --vm-bytes bytes

    指定内存的Bytes数,默认值是1(与--vm-hang配合使用)

    --vm-hang

    指示每个消耗内存的进程在分配到内存后转入休眠状态,与正常的无限分配和释放内存的处理相反,这有利于模拟只有少量内存的机器;例如,下面命令运行时就会

    分配到并一直持有256M内存,直到进程被终止;

    % stress --vm 2 --vm-bytes 128M --vm-hang

    -d forks

    --hdd forks

    产生多个执行write()函数的进程

    --hdd-bytes bytes

    指定写的Bytes数,默认是1GB

    --hdd-noclean

    不要将写入随机ASCII数据的文件Unlink

    注意:时间单位可以为秒s,分m,小时h,天d,年y,文件大小单位可以为K,M,G

    示例:

    一个简单的例子就是你只想给系统一个随机负载,此命令产生13个进程,每个进程都反复不停的计算由rand()产生随机数的平方根

    % stress -c 13

    Stress支持很多选项,可以指定仅显示有限的运行信息,以下命令产生1024个进程,仅显示出错信息

    % stress --quiet --cpu 1k

    为了观察系统何时达到I/O极限,可以使用选项“-i”,以下指令产生4个进程,每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上

    % stress -i 4

    可以在一条指令中使用多个消耗资源的选项,如下指令表示显示运行信息,一分钟后终止运行(13个CPU进程,4个I/O进程)

    % stress -c 13 -i 4 --verbose --timeout 1m

    你也可以指定向磁盘中写入固定大小的文件,这个文件通过调用mkstemp()产生并保存在当前目录下,默认是文件产生后就被执行unlink(清除)操作,但是你可以使用“--hdd-bytes”选项将产生的文件全部保存在当前目录下,这会将你的磁盘空间逐步耗尽

    % stress -d 1 --hdd-noclean --hdd-bytes 13

    可以支持生成大文件

    % stress -d 1 --hdd-noclean --hdd-bytes 3G

  • 相关阅读:
    jQuery常用的插件及功能汇总-持续
    轻量级分布式延时任务处理组件easyTask-L-入门篇
    单机版延时任务处理组件EasyTask-入门篇
    轻量级分布式延时任务处理组件easyTask-L-API介绍篇
    MySql一个生产死锁案例分析
    分布式、服务化的ERP系统架构设计
    《论参数众多的物料如何进行自动编码》
    蛋疼的郁闷——聚集索引扫描、非聚集索引扫描、表扫描区别
    人生的抉择—aspx、ashx、asmx文件处理请求效率比较
    .NET企业轻量级开发框架(APS.NET+Spring.Net+NHibernate)
  • 原文地址:https://www.cnblogs.com/AmilyWilly/p/7852318.html
Copyright © 2011-2022 走看看