題 ps aux輸出含義


輸入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   

感謝致敬!


195
2018-03-09 14:36


起源




答案:


$ 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時間除以進程運行的時間。
  • %MEM =進程駐留集大小與計算機上物理內存的比率
  • VSZ =整個過程的虛擬內存使用量(以KiB為單位)
  • RSS =駐留集大小,任務使用的非交換物理內存(以KiB為單位)
  • TTY =控制tty(終端)
  • STAT =多字符過程狀態
  • 開始 =過程的開始時間或日期
  • 時間 =累計CPU時間
  • 命令 =帶有所有參數的命令

ps手冊頁 了解更多信息。


243
2018-03-09 14:52



你可以添加例如VSZ和RSS以KiB輸出,而不是我想到的字節...... - Christian Davén
你能談談VSZ和RSS之間的差異嗎?謝謝。 - Elgs Qian Chen
RSS是此進程使用的物理內存量。請注意,這包括與其他進程共享的任何內存(例如,如果其他進程是從相同的可執行文件或庫中加載的),那麼它可能會過度報告內存使用情況。 VSZ是虛擬內存空間的大小 - 不要被誤導,因為它不是所有“使用”的內存。它包括使用中的內存(RSS),交換的內存,但通常大多數只是額外的尋址空間,實際上沒有任何實際的內存分配給它 - 為了使用該空間,需要給予更多的內存這個過程。 - thomasrutter
我試著想一個類比。假設您正在吃晚餐,因此您與其他人共享有限的食物供應。 RSS是您目前在盤子上的食物量。 VSZ是你板塊的大小。並非所有的盤子都是食物,而且與你聲稱的食物量無關。 - thomasrutter


這也許會有所幫助:

處理狀態代碼:

  • R  正在運行或可運行(在運行隊列中)
  • D  不間斷睡眠(通常是IO)
  • S  可中斷的睡眠(等待事件完成)
  • Z  已解散/殭屍,終止但未被其父母收穫
  • T  通過工作控制信號停止或因為   它正在被追踪

一些額外的修飾符:

  • < 高優先級(對其他用戶不好)
  • N 低優先級(對其他用戶不錯)
  • L 將頁面鎖定到內存中(用於實時和自定義IO)
  • s 是會議的領導者
  • l 是多線程的(使用CLONE_THREAD,就像NPTL pthreads那樣)
  • + 在前台進程組中

30
2018-05-07 21:11





在Linux中命令:

ps -aux

手段顯示所有用戶的所有進程。您可能想知道x的含義是什麼? x是一個說明符,表示“任何用戶”。所以你可以輸入:

ps -auroot

它顯示所有根進程,或

ps -auel

它顯示來自用戶el的所有進程。 'man ps'頁面中的技術說明是:“ps -aux打印名為'x'的用戶擁有的所有進程,以及打印將由-a選項選擇的所有進程。


20
2017-07-27 00:10