Osx

OS X 上給定命令的資源使用率 (% CPU)

  • January 11, 2016

time -v命令輸出Linux 上給定命令的*CPU 使用率百分比。*我如何在 OS X 上執行此操作?此處說明了 Linux/OS X 的區別。我想在一個短期執行的程序的整個執行期間測量多核使用率,所以top可能行不通,因為它在特定時間點測量/平均。

似乎 gnutime命令沒有真正的替代品。所以,最後我安裝了那個。在 OS X gnu-time 上可以使用 homebrew: 安裝brew install gnu-time。此後,可以使用 來測量特定命令的 CPU 使用率gtime <command>。測試表明我的程序確實在同時執行:1.73user 0.13system 0:01.61elapsed 115%CPU.

你手動安裝 sysstat 包並使用 sar 命令。(https://tipstricks.itmatrix.eu/installing-sar-monitoring-tools/

所有 CPU 的 CPU 使用率 (sar -u)

這給出了所有 CPU 的累積實時 CPU 使用率。“1 3”每1秒報告3次。您很可能會關注最後一個欄位“%idle”來查看 CPU 負載。

$ sar -u 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

 01:27:32 PM       CPU     %user     %nice   %system   %iowait       %steal     %idle
 01:27:33 PM       all      0.00      0.00      0.00      0.00      0.00    100.00
 01:27:34 PM       all      0.25      0.00      0.25      0.00      0.00     99.50
 01:27:35 PM       all      0.75      0.00      0.25      0.00      0.00     99.00
 Average:          all      0.33      0.00      0.17      0.00      0.00       99.50

以下是一些變化:

sar -u Displays CPU usage for the current day that was collected until that point.
sar -u 1 3 Displays real time CPU usage every 1 second for 3 times.
sar -u ALL Same as “sar -u” but displays additional fields.
sar -u ALL 1 3 Same as “sar -u 1 3″ but displays additional fields.
sar -u -f /var/log/sa/sa10 Displays CPU usage for the 10day of the month from the sa10 file.

單個 CPU 或核心的 CPU 使用率 (sar -P)

如果您的機器上有 4 個核心,並且想查看各個核心在做什麼,請執行以下操作。

“-P ALL”表示它應該顯示所有單個核心的統計資訊。

在以下範例中,“CPU”列下的 0、1、2 和 3 表示相應的 CPU 核心編號。

 $ sar -P ALL 1 1
 Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

 01:34:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
 01:34:13 PM       all     11.69      0.00      4.71      0.69      0.00     82.90
 01:34:13 PM         0     35.00      0.00      6.00      0.00      0.00     59.00
 01:34:13 PM         1     22.00      0.00      5.00      0.00      0.00     73.00
 01:34:13 PM         2      3.00      0.00      1.00      0.00      0.00     96.00
 01:34:13 PM         3      0.00      0.00      0.00      0.00      0.00    100.00

“-P 1”表示它應該只顯示第二核的統計資訊。(請注意,核心編號從 0 開始)。

 $ sar -P 1 1 1
 Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

 01:36:25 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:36:26 PM         1      8.08      0.00      2.02      1.01      0.00     88.89

以下是一些變化:

sar -P ALL Displays CPU usage broken down by all cores for the current day.
sar -P ALL 1 3 Displays real time CPU usage for ALL cores every 1 second for 3 times (broken down by all cores).
sar -P 1 Displays CPU usage for core number 1 for the current day.
sar -P 1 1 3 Displays real time CPU usage for core number 1, every 1 second for 3 times.
sar -P ALL -f /var/log/sa/sa10 Displays CPU usage broken down by all cores for the 10day day of the month from sa10 file.

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