ps aux出力の意味


204

ps auxと入力した場合、出力の各列はどういう意味ですか?例えば

$ ps aux  
timothy  29217  0.0  0.0 11916 4560 pts/21   S+   08:15   0:00 pine  
root     29505  0.0  0.0 38196 2728 ?        Ss   Mar07   0:00 sshd: can [priv]   
can      29529  0.0  0.0 38332 1904 ?        S    Mar07   0:00 sshd: can@notty   

ありがとうございます。

回答:


253
$ ps aux  
USER       PID  %CPU %MEM  VSZ RSS     TTY   STAT START   TIME COMMAND
timothy  29217  0.0  0.0 11916 4560 pts/21   S+   08:15   0:00 pine  
root     29505  0.0  0.0 38196 2728 ?        Ss   Mar07   0:00 sshd: can [priv]   
can      29529  0.0  0.0 38332 1904 ?        S    Mar07   0:00 sshd: can@notty  
  • ユーザー =プロセスを所有しているユーザー
  • PID =プロセスのプロセスID
  • %CPU =これは、使用されたCPU時間をプロセスの実行時間で割ったものです。
  • %MEM =マシン上の物理メモリに対するプロセスの常駐セットサイズの比率
  • VSZ =プロセス全体の仮想メモリ使用量(KiB単位)
  • RSS =常駐セットサイズ、タスクが使用したスワップされていない物理メモリ(KiB単位)
  • TTY =制御端末(端末)
  • STAT =マルチキャラクタプロセス状態
  • 開始 =プロセスの開始時刻または日付
  • 時間 =累積CPU時間
  • コマンド =すべての引数を持つコマンド

を参照してください psのmanページ 詳しくは


25
あなたが追加することができます。 VSZとRSSは、私が最初に考えたようにバイトではなく、KiBで出力されます。
Christian Davén

VSZとRSSの違いについてもう少し詳しく教えてください。ありがとう。
Elgs Qian Chen

3
RSSは、このプロセスが使用している物理メモリの量です。これには、他のプロセスと共有されているすべてのメモリ(たとえば、他のプロセスが同じ実行可能ファイルまたはライブラリからロードされている場合)が含まれるため、メモリ使用量が過大に報告されることがあります。 VSZは仮想メモリ空​​間のサイズです。これはすべて「使用された」メモリではないため、これを誤解しないでください。これには使用中のメモリ(RSS)、交換されたメモリが含まれますが、通常、大部分は実際には実際のメモリが割り当てられていない単なる追加アドレス空間です - その領域を使用するにはプロセス。
thomasrutter

2
私は例えを考えようとした。夕食を食べているので、限られた量の食べ物を他の人と共有しているとしましょう。 RSSはあなたのプレートに現在ある食品の量です。 VSZはあなたのプレートのサイズです。あなたのプレートのすべてが食べ物であるとは限らず、それはあなたが主張した食べ物の量には関係ありません。
thomasrutter

35

またこれは有用かもしれません:

プロセス状態コード:

  • R 実行中または実行可能(実行キュー上)
  • D 無停電スリープ(通常はIO)
  • S 割り込み可能なスリープ(イベントの完了を待っている)
  • Z 現存しない/ゾンビ、終了したがその親によって刈り取られなかった
  • T ジョブ制御シグナルまたは理由により停止   それはトレースされています

いくつかの追加の修飾子:

  • < 優先度が高い(他のユーザーには良くない)
  • N 優先度が低い(他のユーザーに優しい)
  • L ページがメモリにロックされている(リアルタイムおよびカスタムIO用)
  • s セッションリーダーです
  • l マルチスレッドです(NPTL pthreadと同様に、CLONE_THREADを使用)。
  • + フォアグラウンドプロセスグループに属します

21

Linuxでは、コマンド:

ps -aux

手段は、すべてのユーザーのすべてのプロセスを表示します。あなたはxが何を意味するのか疑問に思うかもしれませんか? xは '任意のユーザー'を意味する指定子です。だからあなたはこれを入力することができます:

ps -auroot

すべてのルートプロセスが表示されます。

ps -auel

これは、ユーザーelからのすべてのプロセスを表示します。 'man ps'ページの技術的な可能性は、次のとおりです。 "ps -auxは、 'x'という名前のユーザーが所有するすべてのプロセスと、-aオプションで選択されるすべてのプロセスを印刷します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.