コマンドライン経由でOSXでプロセスごとのユーザーとシステムCPU時間を取得しますか?


2

pidstatLinuxのプロセスごとに個別のユーザーCPUとシステムCPUを提供するコマンドに精通しています。

$ sudo pidstat -p 3162
Linux 4.18.0-13-generic (ubi)   26.12.2018  _x86_64_    (1 CPU)

11:26:13      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
11:26:13     1000      3162    0.24    0.04    0.00    0.12    0.28     0  emacs

Mac OSXで同じことをどのように達成できますか?

topOSXではこれらの値が与えられますが、プロセスごとではなくマシンレベルでのみです。プロセスについては、使用される合計CPUのみを与えるようです

Load Avg: 3.26, 3.02, 3.01  CPU usage: 3.13% user, 5.69% sys, 91.16% idle  SharedLibs: 169M resident, 44M data, 11M

PID    COMMAND      %CPU TIME     #TH   #WQ  #PORT MEM    PURG   CMPRS  PGRP  PPID  STATE    BOOSTS
97229  powerlogd    0.0  00:00.45 2     1    51    1160K  16K    1744K  97229 1     sleeping *1[1]

プロセスごとに、合計CPUパーセンテージのみが表示され、ユーザーとシステムの分割は表示されません。ユーザー時間とシステム時間の両方を取得するにはどうすればよいですか?


あなたはすでに%分割CPUがクーロン15と16にある答えを持っています。合計と分割があります
ラスク

回答:


1

探している情報に簡単にアクセスできるかどうかはわかりません。試すことができますps

$ ps -p 407 -o pid,time,utime,etime,comm
  PID      TIME     UTIME     ELAPSED COMM
  407   2:08.23   1:46.36 11-17:10:27 /Applications/Aquamacs.app/Contents/MacOS/Aquamacs

システム時間(TIME-UTIME)と割合を計算します。ただし、これはプロセスが開始されてからの合計であり、継続的なサンプリングではありません。


-1

あなたはTopコマンドに近かった、

今試して Top -A

これはプロセスごとに表示されます(PID)

ここに画像の説明を入力してください

またはこれを試してください top -F -R -o cpu

可能なすべてのTopコマンドオプション

ここに画像の説明を入力してください

一方でTopプレス実行されているo(および/または資本O)を、それがリアルタイムで表示される内容と方法を変更することで表示されるオプションのいずれかを使用します。


-AHighSierraで無効な構文を教えてくれます。topここで何かを見逃していない限り、ユーザーとシステムを個別にではなく、プロセスごとの合計CPUを表示します。
ネオ

top -aHigh Sierranで試してみたところ、
うまくいきます

ユーザー
ごとの

私はあまり明確でtopはなかったかもしれませんが、スプリットではなくプロセスの合計CPU時間を示しています。ユーザー時間とシステム時間の両方が必要です。質問も更新しました
Neo

OK、合計CPUは3Dクーロン、分割はクーロン15および16の%CPU_meおよび%CPU_othersです
18
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.