这篇文章主要讲解了“怎么使用Linux平台下的压力测试工具stress-ng”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Linux平台下的压力测试工具stress-ng”吧!
安装很简单,在CentOS下,通过yum -y install stress-ng即可安装此工具.
安装成功后,执行man stress-ng可查看该工具的帮助信息.
NAME stress-ng - a tool to load and stress a computer system stress-ng是计算机系统进行压力测试的工具. SYNOPSIS stress-ng [OPTION [ARG]] ... 使用方法:stress-ng [OPTION [ARG]] ... DESCRIPTION stress-ng will stress test a computer system in various selectable ways. It was designed to exercise various physical subsystems of a computer as well as the var‐ ious operating system kernel interfaces. stress-ng also has a wide range of CPU specific stress tests that exercise floating point, integer, bit manipulation and control flow. stress-ng was originally intended to make a machine work hard and trip hardware issues such as thermal overruns as well as operating system bugs that only occur when a system is being thrashed hard. Use stress-ng with caution as some of the tests can make a system run hot on poorly designed hardware and also can cause excessive system thrashing which may be difficult to stop. stress-ng can also measure test throughput rates; this can be useful to observe performance changes across different operating system releases or types of hard‐ ware. However, it has never been intended to be used as a precise benchmark test suite, so do NOT use it in this manner. Running stress-ng with root privileges will adjust out of memory settings on Linux systems to make the stressors unkillable in low memory situations, so use this judiciously. With the appropriate privilege, stress-ng can allow the ionice class and ionice levels to be adjusted, again, this should be used with care. One can specify the number of processes to invoke per type of stress test; speci‐ fying a negative or zero value will select the number of processors available as defined by sysconf(_SC_NPROCESSORS_CONF). stress-ng提供了N中途径对系统进行测试.该工具可运行计算机的各种物理子系统(如CPU/内存/网络等) 以及各种OS内核接口.stress-ng有大量的CPU压力测试方法,包括测试浮点数/整数/位运算和控制流程等. stress-ng的最初目的是给机器加压,通过使系统过载来发现OS的bug.要注意的是,stress-ng在设计不良 的系统中运行可能会系统宕机. OPTIONS General stress-ng control options: ... 详细可参考stress-ng手册. EXAMPLES 使用样例 stress-ng --vm 8 --vm-bytes 80% -t 1h run 8 virtual memory stressors that combined use 80% of the available mem‐ ory for 1 hour. Thus each stressor uses 10% of the available memory. 执行8个虚拟的内存压测器,合计使用80%的可用内存,持续时间1小时,每个压测器约10%的可用内存. stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 1G --timeout 60s runs for 60 seconds with 4 cpu stressors, 2 io stressors and 1 vm stressor using 1GB of virtual memory. stress-ng --iomix 2 --iomix-bytes 10% -t 10m runs 2 instances of the mixed I/O stressors using a total of 10% of the available file system space for 10 minutes. Each stressor will use 5% of the available file system space. stress-ng --cpu 8 --cpu-ops 800000 runs 8 cpu stressors and stops after 800000 bogo operations. stress-ng --sequential 2 --timeout 2m --metrics run 2 simultaneous instances of all the stressors sequentially one by one, each for 2 minutes and summarise with performance metrics at the end. stress-ng --cpu 4 --cpu-method fft --cpu-ops 10000 --metrics-brief run 4 FFT cpu stressors, stop after 10000 bogo operations and produce a summary just for the FFT results. stress-ng --cpu 0 --cpu-method all -t 1h run cpu stressors on all online CPUs working through all the available CPU stressors for 1 hour. stress-ng --all 4 --timeout 5m run 4 instances of all the stressors for 5 minutes. stress-ng --random 64 run 64 stressors that are randomly chosen from all the available stressors. stress-ng --cpu 64 --cpu-method all --verify -t 10m --metrics-brief run 64 instances of all the different cpu stressors and verify that the computations are correct for 10 minutes with a bogo operations summary at the end. stress-ng --sequential 0 -t 10m run all the stressors one by one for 10 minutes, with the number of instances of each stressor matching the number of online CPUs. stress-ng --sequential 8 --class io -t 5m --times run all the stressors in the io class one by one for 5 minutes each, with 8 instances of each stressor running concurrently and show overall time util‐ isation statistics at the end of the run. stress-ng --all 0 --maximize --aggressive run all the stressors (1 instance of each per CPU) simultaneously, maximize the settings (memory sizes, file allocations, etc.) and select the most demanding/aggressive options. stress-ng --random 32 -x numa,hdd,key run 32 randomly selected stressors and exclude the numa, hdd and key stres‐ sors stress-ng --sequential 4 --class vm --exclude bigheap,brk,stack run 4 instances of the VM stressors one after each other, excluding the bigheap, brk and stack stressors stress-ng --taskset 0,2-3 --cpu 3 run 3 instances of the CPU stressor and pin them to CPUs 0, 2 and 3.