Osx
OS X 上給定命令的資源使用率 (% CPU)
該
time -v
命令輸出Linux 上給定命令的*CPU 使用率百分比。*我如何在 OS X 上執行此操作?此處說明了 Linux/OS X 的區別。我想在一個短期執行的程序的整個執行期間測量多核使用率,所以top
可能行不通,因為它在特定時間點測量/平均。
似乎 gnu
time
命令沒有真正的替代品。所以,最後我安裝了那個。在 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.