linux下的CPU壓力測試工具與方法介紹

使用工具stress

Centos
# yum -y install stress

Ubantu
# apt-get install stress

# stress --help
`stress' imposes certain types of compute stress on your system

Usage: stress [OPTION [ARG]] ...
 -?, --help         show this help statement
     --version      show version statement
 -v, --verbose      be verbose
 -q, --quiet        be quiet
 -n, --dry-run      show what would have been done
 -t, --timeout N    timeout after N seconds
     --backoff N    wait factor of N microseconds before work starts
 -c, --cpu N        spawn N workers spinning on sqrt()
 -i, --io N         spawn N workers spinning on sync()
 -m, --vm N         spawn N workers spinning on malloc()/free()
     --vm-bytes B   malloc B bytes per vm worker (default is 256MB)
     --vm-stride B  touch a byte every B bytes (default is 4096)
     --vm-hang N    sleep N secs before free (default none, 0 is inf)
     --vm-keep      redirty memory instead of freeing and reallocating
 -d, --hdd N        spawn N workers spinning on write()/unlink()
     --hdd-bytes B  write B bytes per hdd worker (default is 1GB)

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

Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).

https://blog.csdn.net/yujia_666/article/details/89317310

查看CPU信息

cpu詳細信息
# lscpu

cpu個數(shù):
# cat /proc/cpuinfo |grep 'physical id'|sort -u|wc -l
2

cpu核數(shù):
# cat /proc/cpuinfo |grep 'core id'|sort -u|wc -l
24

cpu線程數(shù):
# cat /proc/cpuinfo |grep 'processor'|sort -u|wc -l
96

根據(jù)線程測試cpu:
# stress -c 96
stress: info: [7461] dispatching hogs: 96 cpu, 0 io, 0 vm, 0 hdd

再開一個終端使用top查看

以下轉(zhuǎn)載自https://blog.csdn.net/YINHAOXU1/article/details/72868888

CPU:

# vim test-cpu.sh
# chmod +x test-cpu.sh
# cat test-cpu.sh
 while [ 1 ]
  do
    echo 1 >> /dev/null  
  done

或者:

# while [ 1 ];do : ;done

python 轉(zhuǎn)載自https://www.cnblogs.com/guixie/p/11834707.html

# yum -y install python
# vim test_mem.py
# chmod +x test_mem.py
# cat test_mem.py
#! /user/bin/env python
# -*- encoding: utf-8 -*-
import sys
import re
import time
from multiprocessing import Process,cpu_count

def print_help():
    print('Usage: ')
    print('  python test_mem.py m 1GB')
    print('  python test_mem.py c 1')
    print('  python test_mem.py mc 1GB 2')

#實現(xiàn)占用內(nèi)存
def mem():
    pattern = re.compile('^(\d*)([M|G]B)$')
    size = sys.argv[2].upper()
    match = pattern.match(size)
    if match:
        num = int(match.group(1))
        unit = match.group(2)
        if unit == 'MB':
            s = ' ' * (num * 1024 * 1024)
        else:
            s = ' ' * (num * 1024 * 1024 * 1024)
        time.sleep(24 * 3600)
    else:
        print("bad args.....")
        print_help()

#cpu滿載
def deadloop():
    while True:
        pass

#根據(jù)傳參來指定占滿幾個核
def cpu():
    arg = sys.argv[2] if len(sys.argv) == 3 else sys.argv[3]
    cpu_num = cpu_count()
    cores = int(arg)
    if not isinstance(cores,int):
        print("bad args not int")
        return

    if cores > cpu_num:
        print("Invalid CPU Num(cpu_count="+str(cpu_num)+")")
        return

    if cores is None or cores <1:
        cores = 1

    for i in range(cores):
        Process(target=deadloop).start()

def mem_cpu():
    Process(target=mem).start()
    Process(target=cpu).start()

if __name__ == "__main__":
    if len(sys.argv) >= 3:
        switcher = {
            'm': mem,
            'c': cpu,
            'mc': mem_cpu
        }
        switcher.get(sys.argv[1], mem)()
    else:
        print_help()

# python test_mem.py
Usage: 
  python test_mem.py m 1GB     #Mem占用1GB,支持使用MB
  python test_mem.py c 1     #CPU 1核滿載
  python test_mem.py mc 1GB 2     #CPU 1核滿載,并且指定Mem占用2GB
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,643評論 2 380