ここに投稿されたアイデアに基づいて、この小さなコード行を作成しました。
sudo vmmap notifyd | grep -A3 'Summary'
vmmap出力のSummaryセクション(3行)を表示します。notifyd
この例では使用しましたが、これを既知のPIDに置き換えることができます。
この行は、実行中のすべてのプロセスの要約行をすべてリストしようとします。プロセスIDがすでになくなっている(プロセスが終了している)ために一部が失敗することは明らかですが、一般に、これはメモリ情報のリストをスクロールしてトップスワッパーを見つけるのに最適な方法であることがわかりました。
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | grep -A3 'Summary'
編集:一部の匿名ユーザーは、明らかに元のバリアントが機能しなくなったため、この最後のコマンドラインを改善する必要があると考えました。あなたが誰であれ、どうもありがとう。編集が拒否されてすみません。(最初のコマンドは以前に「ps xa」を読み取り、psの見出しがスローされたためにvmmapが失敗しました)
さらなる改善:プログラムの名前をすぐに知りたい場合は、この小さな変更を使用してください
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | egrep 'swapped_out|Path'
このコマンドのもう一方の端を少し修正すると、特定のプログラム名またはコマンドラインパスコンポーネントをフィルタリングできます。ここでは、たとえば「ライブラリ/ PrivateFrameworks」のすべてのプロセスのみを表示しています。
ps -o pid,command= -xa | grep 'Library/PrivateFrameworks' | awk '{print $1}' | xargs -n 1 sudo vmmap |