stress命令文檔

stress

  • 對系統增加負載和壓力測試的工具
    stress [option [arg]] ...

描述

  • stress將指定類型的計算壓力加到系統上

選項

  • -v,–verbose

  • -q, --quiet

  • -n, --dry-run

    • 展示已經做了什麼
  • -t, --timeout N

    • 在N秒之後超時
  • –backoff N

    • 在任務開始之前等待N us
  • -c, --cpu N

    • 創建N個工作進程快速執行sqrt()
  • -i, --io N

    • 創建N個工作進程快速執行sync()
  • -m, --vm N

    • 創建N個工作進程執行malloc()/free()
  • –vm-bytes B

    • 每個vm進程分配B字節內存空間(默認是256MB)
  • –vm-stride B

    • 每隔B個字節touch一個字節(默認是4096),不知道用幹嗎的
  • –vm-hang N

    • 在釋放內存之前(默認是不休眠,0是無限休眠)休眠N秒
  • –vm-keep

    • 重新弄髒內存,而不是釋放和重新申請內存
  • -d, --hdd N

    • 創建N個工作進程執行write()/unlink()
  • –hdd-bytes B

    • 每個hdd工作進程寫B個字節(默認寫1GB)
  • 實例

    • stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
    • 注意:
      • 數字類的可能帶有後綴,時間類的帶s,m,h,d,y,大小類的帶B,K,M,G

info stress文檔

概覽

  • stress不是一個基準測試程序(benchmark)
  • stress是一個把指定負載加到指定的子系統上的一個工具
  • 對於一個系統管理員想要執行微調活動,或者是一個內核或者libc庫的程序員想要去評估拒絕服務的可能性等場景,這個工具非常實用

實例分析

  • 簡單的場景就是想要把系統的平均負載增加到一個任意值,接下來fork13個子進程,每一個都執行計算一個用rand()獲取的隨機數的sqrt()
    stress -c 13
  • 支持長選項,這個命令創建1024個進程,並且只輸出錯誤信息,如果有出錯信息的話;
    stress --quiet --cpu 1k
  • 創建4個進程,每個子進程快速調用sync()
    stress -i 4
  • 1分鐘後超時
    stress -c 13 -i 4 --verbose --timeout 1m
  • 可以寫一個任意長度的文件到磁盤,文件用mkstemp()在當前目錄下創建,默認行爲是刪除掉,unlink也可以通過設置–hdd-noclean選項來被覆蓋
    stress -d 1 --hdd-noclean --hdd-bytes 13
    stress -d 1 --hdd-noclean --hdd-bytes 3G
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章