[root@centos12 stress-1.0.4]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

[root@centos12 thmsoftware]# wget http://people.seas.harvard.edu/~apw/stress/stress-1.0.4.tar.gz
--2018-01-23 11:53:06-- http://people.seas.harvard.edu/~apw/stress/stress-1.0.4.tar.gz
Resolving people.seas.harvard.edu (people.seas.harvard.edu)... 54.172.197.41
Connecting to people.seas.harvard.edu (people.seas.harvard.edu)|54.172.197.41|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 191800 (187K) [application/x-gzip]
Saving to: ‘stress-1.0.4.tar.gz’

100%[========================>] 191,800 84.4KB/s in 2.2s

2018-01-23 11:53:14 (84.4 KB/s) - ‘stress-1.0.4.tar.gz’ saved [191800/191800]

[root@centos12 thmsoftware]#
[root@centos12 thmsoftware]# ls -ltr
total 188
-rw-r--r-- 1 root root 191800 Mar 18 2014 stress-1.0.4.tar.gz
[root@centos12 thmsoftware]# tar -xvf stress-1.0.4.tar.gz
stress-1.0.4/
stress-1.0.4/aclocal.m4
stress-1.0.4/INSTALL
stress-1.0.4/depcomp
stress-1.0.4/configure.in
stress-1.0.4/NEWS
stress-1.0.4/COPYING
stress-1.0.4/ChangeLog
stress-1.0.4/missing
stress-1.0.4/TODO
stress-1.0.4/configure
stress-1.0.4/README
stress-1.0.4/doc/
stress-1.0.4/doc/mdate-sh
stress-1.0.4/doc/stress.html
stress-1.0.4/doc/stamp-vti
stress-1.0.4/doc/stress.1
stress-1.0.4/doc/stress.info
stress-1.0.4/doc/Makefile.am
stress-1.0.4/doc/stress.texi
stress-1.0.4/doc/version.texi
stress-1.0.4/doc/texinfo.tex
stress-1.0.4/doc/Makefile.in
stress-1.0.4/AUTHORS
stress-1.0.4/Makefile.am
stress-1.0.4/Makefile.in
stress-1.0.4/src/
stress-1.0.4/src/Makefile.am
stress-1.0.4/src/stress.c
stress-1.0.4/src/Makefile.in
stress-1.0.4/test/
stress-1.0.4/test/check_version_return_code
stress-1.0.4/test/Makefile.am
stress-1.0.4/test/check_usage_return_code
stress-1.0.4/test/Makefile.in
stress-1.0.4/install-sh
[root@centos12 thmsoftware]# cd stress-1.0.4
[root@centos12 stress-1.0.4]# ls -ltr
total 328
-rwxr-xr-x 1 1003 1003 7831 Dec 8 2002 INSTALL
-rwxr-xr-x 1 1003 1003 395 Dec 9 2005 AUTHORS
-rwxr-xr-x 1 1003 1003 1921 Jan 23 2007 TODO
-rwxr-xr-x 1 1003 1003 922 May 31 2008 README
-rwxr-xr-x 1 1003 1003 367 Aug 12 2009 Makefile.am
-rwxr-xr-x 1 1003 1003 3509 Feb 18 2010 NEWS
-rwxr-xr-x 1 1003 1003 967 Mar 19 2010 configure.in
-rwxr-xr-x 1 1003 1003 11135 Mar 19 2010 missing
-rwxr-xr-x 1 1003 1003 13620 Mar 19 2010 install-sh
-rw-r--r-- 1 1003 1003 32612 Mar 19 2010 aclocal.m4
-rw-r--r-- 1 1003 1003 18730 Mar 19 2010 Makefile.in
-rwxr-xr-x 1 1003 1003 17867 Mar 19 2010 depcomp
-rwxr-xr-x 1 1003 1003 160968 Mar 19 2010 configure
-rw-r--r-- 1 1003 1003 14320 Mar 19 2010 ChangeLog
-rw-r--r-- 1 1003 1003 18092 Mar 24 2010 COPYING
drwxr-xr-x 2 1003 1003 108 Mar 18 2014 test
drwxr-xr-x 2 1003 1003 60 Mar 18 2014 src
drwxr-xr-x 2 1003 1003 189 Mar 18 2014 doc
[root@centos12 stress-1.0.4]# cat README
INSTALL

See the INSTALL file for generic installation instructions. The quick
version is:

./configure && make && sudo make install

USAGE

You can see the program's usage statement by invoking it with --help. A
typical invocation is:

stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s

A user manual is available:

info stress

The project home page is:

http://weather.ou.edu/~apw/projects/stress/

PATCHES

This program works really well for me, but it might not have some of the
features that you want. If you would like, please extend the code and send
me the patch. Please use the context diff format. That is: save the
original program as stress.c.orig, then make and test your desired changes
to stress.c, then run `diff -u stress.c.orig stress.c' to produce a context
diff. Enjoy the program :-)

Amos Waterland
Norman, Oklahoma
27 Nov 2001
[root@centos12 stress-1.0.4]# ./configure && make && make install
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in /thmsoftware/stress-1.0.4':
configure: error: no acceptable C compiler found in $PATH
See
config.log' for more details.
[root@centos12 stress-1.0.4]# cat config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.63. Invocation command line was

$ ./configure

---------

Platform.

---------

hostname = centos12
uname -m = x86_64
uname -r = 3.10.0-693.11.1.el7.x86_64
uname -s = Linux
uname -v = #1 SMP Mon Dec 4 23:52:40 UTC 2017

/usr/bin/uname -p = x86_64
/bin/uname -X = unknown

/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /root/bin

-----------

Core tests.

-----------

configure:1858: checking for a BSD-compatible install
configure:1926: result: /usr/bin/install -c
configure:1937: checking whether build environment is sane
configure:1980: result: yes
configure:2005: checking for a thread-safe mkdir -p
configure:2044: result: /usr/bin/mkdir -p
configure:2057: checking for gawk
configure:2073: found /usr/bin/gawk
configure:2084: result: gawk
configure:2095: checking whether make sets $(MAKE)
configure:2117: result: yes
configure:2350: checking for gcc
configure:2380: result: no
configure:2443: checking for cc
configure:2490: result: no
configure:2546: checking for cl.exe
configure:2576: result: no
configure:2600: error: in /thmsoftware/stress-1.0.4':
configure:2603: error: no acceptable C compiler found in $PATH
See
config.log' for more details.

----------------

Cache variables.

----------------

ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_make_make_set=yes

-----------------

Output variables.

-----------------

ACLOCAL='${SHELL} /thmsoftware/stress-1.0.4/missing --run aclocal-1.10'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${SHELL} /thmsoftware/stress-1.0.4/missing --run tar'
AUTOCONF='${SHELL} /thmsoftware/stress-1.0.4/missing --run autoconf'
AUTOHEADER='${SHELL} /thmsoftware/stress-1.0.4/missing --run autoheader'
AUTOMAKE='${SHELL} /thmsoftware/stress-1.0.4/missing --run automake-1.10'
AWK='gawk'
CC=''
CCDEPMODE=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
GREP=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /thmsoftware/stress-1.0.4/missing --run makeinfo'
MKDIR_P='/usr/bin/mkdir -p'
OBJEXT=''
PACKAGE='stress'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
SET_MAKE=''
SHELL='/bin/sh'
STRIP=''
VERSION='1.0.4'
ac_ct_CC=''
amfastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am
include=''
amisrc=''
am
leading_dot='.'
amquote=''
am
tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build_alias=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='NONE'
host_alias=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(SHELL) /thmsoftware/stress-1.0.4/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/usr/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

-----------

confdefs.h.

-----------

#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE "stress"
#define VERSION "1.0.4"

configure: exit 1
[root@centos12 stress-1.0.4]#

编译错误,缺少GCC模块

[root@centos12 stress-1.0.4]# stress --cpu 8 --io 4 --vm 2 --vm-by tes 128M --timeout 10s
-bash: stress: command not found
[root@centos12 stress-1.0.4]#
[root@centos12 stress-1.0.4]# find / -name stress
[root@centos12 stress-1.0.4]#
[root@centos12 stress-1.0.4]# yum install gcc -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

  • base: mirrors.cn99.com
  • extras: mirrors.tuna.tsinghua.edu.cn
  • updates: mirrors.cn99.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package gcc.x86_64 0:4.8.5-16.el7_4.1 will be installed
    --> Processing Dependency: cpp = 4.8.5-16.el7_4.1 for package: gcc-4.8.5-16.el7_4.1.x86_64
    --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.8.5-16.el7_4.1.x86_64
    --> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc-4.8.5-16.el7_4.1.x86_64
    --> Processing Dependency: libmpc.so.3()(64bit) for package: gcc-4.8.5-16.el7_4.1.x86_64
    --> Running transaction check
    ---> Package cpp.x86_64 0:4.8.5-16.el7_4.1 will be installed
    ---> Package glibc-devel.x86_64 0:2.17-196.el7_4.2 will be installed
    --> Processing Dependency: glibc-headers = 2.17-196.el7_4.2 for package: glibc-devel-2.17-196.el7_4.2.x86_64
    --> Processing Dependency: glibc-headers for package: glibc-devel-2.17-196.el7_4.2.x86_64
    ---> Package libmpc.x86_64 0:1.0.1-3.el7 will be installed
    ---> Package mpfr.x86_64 0:3.1.1-4.el7 will be installed
    --> Running transaction check
    ---> Package glibc-headers.x86_64 0:2.17-196.el7_4.2 will be installed
    --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-196.el7_4.2.x86_64
    --> Processing Dependency: kernel-headers for package: glibc-headers-2.17-196.el7_4.2.x86_64
    --> Running transaction check
    ---> Package kernel-headers.x86_64 0:3.10.0-693.11.6.el7 will be installed
    --> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size

Installing:
gcc x86_64 4.8.5-16.el7_4.1 updates 16 M
Installing for dependencies:
cpp x86_64 4.8.5-16.el7_4.1 updates 5.9 M
glibc-devel x86_64 2.17-196.el7_4.2 updates 1.1 M
glibc-headers x86_64 2.17-196.el7_4.2 updates 676 k
kernel-headers x86_64 3.10.0-693.11.6.el7 updates 6.0 M
libmpc x86_64 1.0.1-3.el7 base 51 k
mpfr x86_64 3.1.1-4.el7 base 203 k

Transaction Summary

Install 1 Package (+6 Dependent packages)

Total download size: 30 M
Installed size: 60 M
Downloading packages:
(1/7): glibc-headers-2.17-196.el7_4.2.x86_64.rpm | 676 kB 00:06
(2/7): glibc-devel-2.17-196.el7_4.2.x86_64.rpm | 1.1 MB 00:08
(3/7): libmpc-1.0.1-3.el7.x86_64.rpm | 51 kB 00:09
(4/7): mpfr-3.1.1-4.el7.x86_64.rpm | 203 kB 00:09
(5/7): cpp-4.8.5-16.el7_4.1.x86_64.rpm | 5.9 MB 00:25
(6/7): kernel-headers-3.10.0-693.11.6.el7.x86_64.rpm | 6.0 MB 00:28
(7/7): gcc-4.8.5-16.el7_4.1.x86_64.rpm | 16 MB 00:43

Total 699 kB/s | 30 MB 00:44
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mpfr-3.1.1-4.el7.x86_64 1/7
Installing : libmpc-1.0.1-3.el7.x86_64 2/7
Installing : cpp-4.8.5-16.el7_4.1.x86_64 3/7
Installing : kernel-headers-3.10.0-693.11.6.el7.x86_64 4/7
Installing : glibc-headers-2.17-196.el7_4.2.x86_64 5/7
Installing : glibc-devel-2.17-196.el7_4.2.x86_64 6/7
Installing : gcc-4.8.5-16.el7_4.1.x86_64 7/7
Verifying : cpp-4.8.5-16.el7_4.1.x86_64 1/7
Verifying : glibc-devel-2.17-196.el7_4.2.x86_64 2/7
Verifying : mpfr-3.1.1-4.el7.x86_64 3/7
Verifying : libmpc-1.0.1-3.el7.x86_64 4/7
Verifying : glibc-headers-2.17-196.el7_4.2.x86_64 5/7
Verifying : gcc-4.8.5-16.el7_4.1.x86_64 6/7
Verifying : kernel-headers-3.10.0-693.11.6.el7.x86_64 7/7

Installed:
gcc.x86_64 0:4.8.5-16.el7_4.1

Dependency Installed:
cpp.x86_64 0:4.8.5-16.el7_4.1
glibc-devel.x86_64 0:2.17-196.el7_4.2
glibc-headers.x86_64 0:2.17-196.el7_4.2
kernel-headers.x86_64 0:3.10.0-693.11.6.el7
libmpc.x86_64 0:1.0.1-3.el7
mpfr.x86_64 0:3.1.1-4.el7

Complete!
[root@centos12 stress-1.0.4]#
[root@centos12 stress-1.0.4]#
[root@centos12 stress-1.0.4]#
[root@centos12 stress-1.0.4]#
[root@centos12 stress-1.0.4]# ./configure && make && make install checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for unistd.h... (cached) yes
checking for sqrt in -lm... yes
checking for basename in -lgen... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating test/Makefile
config.status: executing depfiles commands
Making all in .
make[1]: Entering directory /thmsoftware/stress-1.0.4'
make[1]: Nothing to be done for
all-am'.
make[1]: Leaving directory /thmsoftware/stress-1.0.4'
Making all in src
make[1]: Entering directory
/thmsoftware/stress-1.0.4/src'
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"stress\" -DVERSION=\"1.0.4\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIBM=1 -I. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -O2 -MT stress.o -MD -MP -MF .deps/stress.Tpo -c -o stress.o stress.c
mv -f .deps/stress.Tpo .deps/stress.Po
gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -O2 -o stress stress.o -lm
make[1]: Leaving directory /thmsoftware/stress-1.0.4/src'
Making all in doc
make[1]: Entering directory
/thmsoftware/stress-1.0.4/doc'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/thmsoftware/stress-1.0.4/doc'
Making all in test
make[1]: Entering directory /thmsoftware/stress-1.0.4/test'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /thmsoftware/stress-1.0.4/test'
Making install in .
make[1]: Entering directory
/thmsoftware/stress-1.0.4'
make[2]: Entering directory /thmsoftware/stress-1.0.4'
make[2]: Nothing to be done for
install-exec-am'.
make[2]: Nothing to be done for install-data-am'.
make[2]: Leaving directory
/thmsoftware/stress-1.0.4'
make[1]: Leaving directory /thmsoftware/stress-1.0.4'
Making install in src
make[1]: Entering directory
/thmsoftware/stress-1.0.4/src'
make[2]: Entering directory /thmsoftware/stress-1.0.4/src'
test -z "/usr/local/bin" || /usr/bin/mkdir -p "/usr/local/bin"
/usr/bin/install -c 'stress' '/usr/local/bin/stress'
make[2]: Nothing to be done for
install-data-am'.
make[2]: Leaving directory /thmsoftware/stress-1.0.4/src'
make[1]: Leaving directory
/thmsoftware/stress-1.0.4/src'
Making install in doc
make[1]: Entering directory /thmsoftware/stress-1.0.4/doc'
make[2]: Entering directory
/thmsoftware/stress-1.0.4/doc'
make[2]: Nothing to be done for install-exec-am'.
test -z "/usr/local/share/info" || /usr/bin/mkdir -p "/usr/local/share/info"
/usr/bin/install -c -m 644 './stress.info' '/usr/local/share/info/stress.info'
install-info --info-dir='/usr/local/share/info' '/usr/local/share/info/stress.info'
test -z "/usr/local/share/man/man1" || /usr/bin/mkdir -p "/usr/local/share/man/man1"
/usr/bin/install -c -m 644 'stress.1' '/usr/local/share/man/man1/stress.1'
make[2]: Leaving directory
/thmsoftware/stress-1.0.4/doc'
make[1]: Leaving directory /thmsoftware/stress-1.0.4/doc'
Making install in test
make[1]: Entering directory
/thmsoftware/stress-1.0.4/test'
make[2]: Entering directory /thmsoftware/stress-1.0.4/test'
make[2]: Nothing to be done for
install-exec-am'.
make[2]: Nothing to be done for install-data-am'.
make[2]: Leaving directory
/thmsoftware/stress-1.0.4/test'
make[1]: Leaving directory `/thmsoftware/stress-1.0.4/test'
[root@centos12 stress-1.0.4]# which stress /usr/local/bin/stress
[root@centos12 stress-1.0.4]#

上述表明stress 安装成功

进行压测
[root@centos12 stress-1.0.4]# stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
stress: info: [8041] dispatching hogs: 8 cpu, 4 io, 2 vm, 0 hdd
stress: info: [8041] successful run completed in 11s
[root@centos12 stress-1.0.4]#

查看负载变化

[root@centos12 ~]# uptime
13:53:49 up 3:59, 2 users, load average: 0.04, 0.04, 0.05
[root@centos12 ~]# uptime

13:54:03 up 3:59, 2 users, load average: 1.87, 0.42, 0.17
[root@centos12 ~]# uptime
13:54:03 up 3:59, 2 users, load average: 1.87, 0.42, 0.17
[root@centos12 ~]#
[root@centos12 ~]#
[root@centos12 ~]# uptime
13:54:04 up 3:59, 2 users, load average: 1.72, 0.41, 0.17
[root@centos12 ~]# uptime
13:54:06 up 3:59, 2 users, load average: 1.72, 0.41, 0.17
[root@centos12 ~]# uptime
13:54:07 up 3:59, 2 users, load average: 1.72, 0.41, 0.17