Centos

如何模擬 1 個程序的 +%100 CPU 使用率?

  • April 29, 2022

作業系統:CentOS 7.9

我想為測試目的模擬/創建1 個程序,以便top報告它消耗超過 %100 CPU。ps 輸出中的內容如下所示;

  USER         PID    %CPU     COMMAND
user.one        111245  1500    command

有壓力和壓力-ng 命令,但它們只允許 100

-l P, --cpu-load P         load CPU by P %%, 0=sleep, 100=full load (see -c)

我還嘗試使用帶有超額訂閱選項的 mpirun 執行壓力命令,但沒有運氣。

   -oversubscribe, --oversubscribe
Nodes are allowed to be oversubscribed, even on a managed system, and overloading of processing elements. 

先感謝您!

如果您不想編譯自己的測試應用程序,該應用程序將用於pthread_create(3)創建多個執行緒,一旦它們永遠循環無所事事,就會將每個 100% 的 CPU 使用率添加到程序中,您可以使用 on-the-需要大量計算並因此實現並行處理的貨架工具。

這是此類工具的一個範例,它們都進行並行壓縮:pigz, pixz, pbzip2.

對於 CentOS 7,一旦EPEL儲存庫可用(通過安裝epel-release包),並行 XZ 的其他/較舊的實現在包和命令中可用pxz(其語法與 略有不同pixz)。

pxz </dev/zero >/dev/null

如果沒有其他東西消耗資源,那麼單個(多執行緒)程序的 CPU 使用率應該幾乎達到 nx 100%。預設情況下 n = 命令的結果nproc

-T n您可以使用其選項將其限制為小於 100% 。

引用自:https://unix.stackexchange.com/questions/700730