linux服務器stress-ng的使用

  1. 安裝方法

? Ubuntu/Debian:

  sudo apt update && sudo apt install stress-ng -y

? CentOS/RHEL(需EPEL源):

  sudo yum install epel-release -ysudo yum install stress-ng -y

? 源碼編譯(適合定制化需求):

  wget https://fossies.org/linux/privat/stress-ng-最新版本.tar.gztar -xzf stress-ng-*.tar.gzcd stress-ng-*make && sudo make install#驗證安裝:stress-ng --version
  1. 核心功能與命令

CPU壓力測試,模擬服務器cpu使用率100%

? 基礎命令(滿載所有CPU):

# $(nproc)指的是服務器核數,如有8個核,就寫8,全部占滿
stress-ng --cpu $(nproc) --timeout 60s

? 控制負載百分比(如70%利用率):

  stress-ng --cpu 4 --cpu-load 70 --timeout 2m

? 指定算法(如矩陣乘法、FFT):

  stress-ng --cpu 4 --cpu-method matrixprod --timeout 600s  # 矩陣運算stress-ng --cpu 4 --cpu-method fft --timeout 2m           # 快速傅里葉變換

通過top或htop監控CPU占用。

內存壓力測試

? 動態分配內存(默認反復分配/釋放):

  stress-ng --vm 4 --vm-bytes 1G --timeout 100sstress-ng --vm 4 --vm-bytes 1G --timeout 100s --vm-hang 100s

timeout和vm-hang參數說明:

?1. --timeout(全局超時)???作用范圍?:控制整個壓力測試進程的運行時長。
?行為?:
指定測試的總持續時間(例如 100s 表示 100 秒)。
時間到達后,?所有壓力測試子進程(包括 CPU、內存、I/O 等)均會強制終止,測試結束。?示例?:
--timeout 100s 表示整個測試會在 100 秒后自動停止。?2. --vm-hang(內存測試局部掛起)???作用范圍?:僅針對內存壓力測試子進程?(由 --vm 創建的進程)。
?行為?:內存子進程在每次分配內存(malloc)后,會掛起(睡眠)指定時長?(例如 100s),期間不釋放內存。
掛起結束后,釋放內存并重新開始分配-掛起循環,直到全局 --timeout 觸發終止。?目的?:模擬內存被長期占用的場景(如內存泄漏或緩存駐留),而非頻繁分配/釋放。

? 持續占用內存(避免釋放):

stress-ng --vm 2 --vm-bytes 2G --vm-keep --timeout 5m

? 內存加壓后休眠(低CPU占用):

  stress-ng --vm 4 --vm-bytes 512M --vm-hang 30 --timeout 2m

使用free -h或vmstat監控內存使用。

磁盤I/O測試

? 同步I/O壓力(頻繁調用sync):

  stress-ng --io 4 --timeout 60s

? 文件讀寫壓力(創建/刪除大文件):

stress-ng --hdd 3 --hdd-bytes 20G --timeout 180s  # 寫入20GB文件
# 也可以使用dd命令,創建名為test*.txt的文件,如test1.txt,創建50個,每個文件20G,共1000G
dd if=/dev/zero of=test%s.txt count=50 bs=20G

監控工具:iostat或iotop。

? 混合負載測試

stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 1G --timeout 300s

同時加壓CPU、I/O和內存,模擬復雜場景。

  1. 高級參數與場景

? 超時控制:

–timeout支持單位(s/m/h),如–timeout 1h30m。
? 性能指標輸出:

–metrics-brief輸出測試摘要(如bogo操作次數):

  stress-ng --cpu 4 --timeout 60s --metrics-brief

? 自定義測試時長:

通過–vm-ops或–cpu-ops按操作次數結束測試:

  stress-ng --hdd 5 --hdd-ops 100000  # 完成10萬次操作后停止

? 低負載模擬(開發調試):

  stress-ng --cpu 2 --cpu-load 30 --timeout 10m  # 30%低負載
  1. 使用注意事項

  2. 避免生產環境直接使用:
    壓力測試可能導致系統崩潰或數據丟失,建議在虛擬機或測試環境中操作。

  3. 資源分配建議:
    ? 內存測試時,分配量不超過總內存的80%(避免OOM Kill)。

    ? 磁盤測試預留足夠空間(如–hdd-bytes值需小于磁盤剩余容量)。

  4. 監控關鍵指標:
    ? CPU/內存:top、htop、free。

    ? 磁盤I/O:iostat -dx 1。

    ? 溫度:sensors(防止過熱)。

  5. 性能影響分析:
    ? CPU加壓對應用延遲影響顯著(如8核滿載時小模型延遲增加5倍)。

    ? 內存加壓對延遲影響較小,但高占用時仍會降低整體性能。

  6. 典型應用場景

? 服務器穩定性驗證:

混合負載測試72小時,觀察內核錯誤或硬件故障。
? 資源競爭模擬:

在部署新服務前,模擬高負載下現有服務的性能表現。
? 開發板壓力測試:

ARM平臺交叉編譯后驗證硬件可靠性(如自動駕駛芯片)。
? 散熱能力測試:

結合cpuburn工具最大化CPU發熱,檢測散熱系統。

?? 重要提示:測試結束后,用killall stress-ng或pkill stress-ng確保進程完全退出,避免殘留負載。

更多參數詳見手冊:man stress-ng 或 https://github.com/ColinIanKing/stress-ng。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89260.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89260.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89260.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

探索阿里云DMS:解鎖高效數據管理新姿勢

一、阿里云 DMS 是什么 阿里云 DMS,全稱為 Data Management Service,即數據管理服務 ,是一種集數據管理、結構管理、安全管理于一體的全面數據庫服務平臺。它能夠有效地支持各類數據庫產品,包括但不限于 MySQL、SQL Server、Post…

python爬取新浪財經網站上行業板塊股票信息的代碼

在這個多行業持續高速發展的時代,科技正在改變著我們的生活。 在世界科技領域中,中國正占據越來越重要的位置。當下,每個行業都提到了區塊鏈、人工智能、大數據、5G等科技力量,強調了科技在行業咨詢與數據分析領域的重要意義。 隨…

【JAVA】監聽windows中鼠標側面鍵的按鈕按下事件

監聽windows中鼠標側面鍵的按鈕按下事件用到的包核心類使用這個類用到的包 jna-5.11.0.jar jna-platform-5.11.0.jar核心類 package sample.tt.mouse;import com.sun.jna.Pointer; import com.sun.jna.platform.win32.*; import com.sun.jna.platform.win32.WinDef.HMODULE; …

Redis突發寫入阻斷?解析“MISCONF Redis is configured to save RDB…“故障處理

當你的Redis服務器突然拒絕寫入并拋出 MISCONF Redis is configured to save RDB snapshots... 錯誤時,別慌!這是Redis的數據安全保護機制在發揮作用。本文帶你深度解析故障根因,并提供完整的解決方案。🔥 故障現象還原 客戶端&am…

產品更新丨谷云科技 iPaaS 集成平臺 V7.6 版本發布

六月,谷云科技iPaaS集成平臺更新了V7.6版本。這次更新中我們著重對API網關、API編排、組織管理權限、API監控等功能進行了增強以及優化,一起來看看有什么新變化吧! 網關、監控、編排、組織權限全方位升級 1.API網關 錯誤碼預警,可…

圖像處理中的模板匹配:原理與實現

目錄 一、什么是模板匹配? 二、模板匹配的匹配方法 1. 平方差匹配(cv2.TM_SQDIFF) 2. 歸一化平方差匹配(cv2.TM_SQDIFF_NORMED) 3. 相關匹配(cv2.TM_CCORR) 4. 歸一化相關匹配&#xff08…

高性能架構模式——高性能NoSQL

目錄 一、關系數據庫的缺點二、常見的 NoSQL 方案分 類2.1、K-V 存儲2.2、文檔數據庫2.3、列式數據庫2.4、全文搜索引擎三、高性能 NoSQL 方案的典型特征和應用場景3.1、K-V 存儲典型特征和應用場景3.2、文檔數據庫典型特征和應用場景3.1.1、文檔數據庫的 no-schema 特性的優勢…

正確選擇光伏方案設計軟件:人力成本優化的關鍵一步

在競爭激烈的市場環境中,企業無不追求效率提升與成本控制。設計環節作為產品開發的核心流程,其效率高低直接影響整體項目進度與資源消耗。錯誤的設計軟件選擇如同在信息高速公路上設置路障——它不會阻止前行,卻會讓每一次溝通、每一次修改都…

Git問題排查與故障解決詳解

前言 在使用Git進行版本控制的過程中,開發者常常會遇到各種各樣的問題和錯誤。本文將詳細介紹常見的Git問題及其解決方法,幫助開發者快速定位和解決問題,避免在開發過程中浪費時間。 1. 基礎錯誤與解決 1.1 身份配置問題 問題&#xff1a…

使用Xinference部署語音模型實現文本轉語音:完整指南

文章目錄引言環境準備1. 安裝Xinference2. 啟動Xinference服務3. 部署語音模型Python實現文本轉語音關鍵參數說明應用場景性能優化建議常見問題解決結語引言 文本轉語音(Text-to-Speech, TTS)技術在智能助手、有聲讀物、語音導航等應用中扮演著重要角色…

【C#】實體類定義的是long和值識別到的是Int64,實體類反射容易出現Object does not match target type

🌹歡迎來到《小5講堂》🌹 🌹這是《C#》系列文章,每篇文章將以博主理解的角度展開講解。🌹 🌹溫馨提示:博主能力有限,理解水平有限,若有不對之處望指正!&#…

C#獲取當前系統賬戶是否為管理員賬戶

傳統方式:WindowsPrincipal winPrincipal new WindowsPrincipal(WindowsIdentity.GetCurrent()); bool admin winPrincipal.IsInRole(WindowsBuiltInRole.Administrator);這種方式雖然是最常用的檢測管理員權限的方法,但是有個致命的缺陷,就…

【c++深入系列】:萬字詳解list(附模擬實現的list源碼)

🔥 本文專欄:c 🌸作者主頁:努力努力再努力wz 💪 今日博客勵志語錄: 當你覺得累的時候,說明你在走上坡路 ★★★ 本文前置知識: 模版 那么在之前的學習中,我們已經學習了…

PandaWiki與GitBook深度對比:AI時代的知識管理工具,選誰好?

在當今信息爆炸的時代,知識管理工具已成為個人學習、團隊協作和企業文檔管理的必需品。PandaWik作為AI時代迅速崛起的廣受歡迎知識管理平臺,代表了新一代AI驅動的知識庫系統。本文將從功能特性、技術架構、適用場景等多個維度進行全面對比分析。產品定位…

清除 Android 手機 SIM 卡數據的4 種簡單方法

SIM 卡存儲了聯系人、短信和通話記錄等信息。在更換新 SIM 卡之前,徹底清除舊卡上的所有個人數據(如 SIM 卡聯系人、短信、通話記錄和手機號碼)非常重要。要在 Android 手機上清除 SIM 卡內存,您可以參考以下方法。但在開始之前&a…

算法學習筆記:20.分治法——從原理到實戰,涵蓋 LeetCode 與考研 408 例題

分治法(Divide and Conquer)是計算機科學中最經典的算法設計思想之一,其核心思想是將復雜問題分解為若干個規模較小的子問題,通過解決子問題并合并結果來求解原問題。這種思想不僅在排序、搜索等基礎算法中廣泛應用,也…

@classmethod

1. 基本概念 classmethod 是 Python 中用于定義類方法的一種裝飾器。類方法與常規的實例方法不同,它的第一個參數是 cls,表示類本身,而不是實例。 class MyClass:class_attr "Class Attribute"classmethoddef class_method(cls):p…

Qt 中使用 SQLite 數據庫

一、SQLite 數據庫介紹 SQLite 是一個輕量級的嵌入式關系型數據庫管理系統,它以庫的形式提供,不需要單獨的服務器進程,直接訪問存儲在普通磁盤文件中的數據庫。 主要特性 無服務器架構:SQLite 不需要單獨的服務器進程 零配置&a…

【Unity】IL2CPP相關理論知識學習

一種編譯技術。優點:性能優化:IL2CPP生成C代碼后由本地編譯器優化,一般在CPU性能和GC方面都優于Mono。特別在移動端或主機平臺,性能差距更加明顯。跨平臺支持:Unity作為跨平臺引擎,IL2CPP是支持iOS、Androi…

一個用于在 Ubuntu 22.04.3 LTS 上顯示文件系統超級塊信息的 C 程序

1.程序#include <stdio.h> #include <sys/statvfs.h> #include <errno.h>int main(int argc, char *argv[]) {const char *path;struct statvfs fs_info;// 檢查參數if (argc ! 2) {fprintf(stderr, "用法: %s <掛載點或路徑>\n", argv[0]);…