PostgreSQL DBA(90) - Linux(stress-ng簡介)

husthxd 發表於 2019-09-11


安裝很簡單,在CentOS下,通過yum -y install stress-ng即可安裝此工具.
安裝成功後,執行man stress-ng可檢視該工具的幫助資訊.

       stress-ng - a tool to load and stress a computer system
       stress-ng [OPTION [ARG]] ...
       使用方法:stress-ng [OPTION [ARG]] ...
       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).
       General stress-ng control options:
       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.
       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‐
       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.

Stress Test CPU and Memory (VM) On a Linux / Unix With Stress-ng

來自 “ ITPUB部落格 ” ,連結:,如需轉載,請註明出處,否則將追究法律責任。