第 26章 收集系統資訊

在您學習如何設定您的系統之前,您應該學習如何收集重要的系統資訊。 例如您需要知道如何找出剩餘記憶體的空間、剩餘硬碟空間的容量、您的硬碟是如何分割的以及有那些程序正在執行中。 這個章節討論如何使用簡單的指令與一些簡易的程式來從您的 Red Hat Linux 系統取得這些類型的資訊。

26.1. 系統程序

ps ax 指令將會顯示目前系統執行中之程序的清單。 如要一併顯示程序的擁有者,請使用 ps aux 指令。 這個清單是靜態的清單,也就是說,它是當您執行指令時所正在執行之程序的快照。 假如您需要不斷更新的執行程序清單,請使用如下所述的 top 指令。

ps 指令的輸出可以很長,如要使其不捲動超過畫面,您可以將輸出 pipe 到 less 指令:

ps aux | less

您可以使用 grep 指令與 ps 指令結合來查看一個程序是否正在執行中,例如要查看 emacs 是否正在執行中,請使用下列指令:

ps ax | grep emacs

top 指令會顯示正在執行中的程序,以及關於它們的重要資訊,包括它們的記憶體與 CPU 用量。 這個清單是即時並且為互動模式的,在此提供 top 指令的範例輸出如下:

 00:53:01  up 6 days, 14:05,  3 users,  load average: 0.92, 0.87, 0.71
71 processes: 68 sleeping, 2 running, 1 zombie, 0 stopped
CPU states:  18.0% user   0.1% system   16.0% nice   0.0% iowait  80.1% idle
Mem:  1030244k av,  985656k used,   44588k free,       0k shrd,  138692k buff
                    424252k actv,   23220k in_d,  252356k in_c
Swap: 2040212k av,  330132k used, 1710080k free                  521796k cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
15775 joe        5   0 11028  10M  3192 S     1.5  4.2   0:46 emacs
14429 root      15   0 63620  62M  3284 R     0.5 24.7  63:33 X
17372 joe       11   0  1056 1056   840 R     0.5  0.4   0:00 top
17356 joe        2   0  4104 4104  3244 S     0.3  1.5   0:00 gnome-terminal
    1 root       0   0   544  544   476 S     0.0  0.2   0:06 init
    2 root       0   0     0    0     0 SW    0.0  0.0   0:00 kflushd
    3 root       1   0     0    0     0 SW    0.0  0.0   0:24 kupdate
    4 root       0   0     0    0     0 SW    0.0  0.0   0:00 kpiod
    5 root       0   0     0    0     0 SW    0.0  0.0   0:29 kswapd
  347 root       0   0   556  556   460 S     0.0  0.2   0:00 syslogd
  357 root       0   0   712  712   360 S     0.0  0.2   0:00 klogd
  372 bin        0   0   692  692   584 S     0.0  0.2   0:00 portmap
  388 root       0   0     0    0     0 SW    0.0  0.0   0:00 lockd
  389 root       0   0     0    0     0 SW    0.0  0.0   0:00 rpciod
  414 root       0   0   436  432   372 S     0.0  0.1   0:00 apmd
  476 root       0   0   592  592   496 S     0.0  0.2   0:00 automount

如要離開 top,請按下 [q] 按鍵。

您可以在 top 使用的互動式指令如下:

指令說明
[空白鍵]立即重新整理
[h]顯示一個說明畫面
[k]Kill 一個程序,您將會被提示輸入程序 ID 以及要傳送給它的訊號。
[n]變更顯示出來的程序數目,您將會被提示輸入一個數目。
[u]以使用者排序。
[M]以記憶體用量排序。
[P]以 CPU 用量排序。

表格 26-1. 互動式的 top 指令

提示建議
 

例如 MozillaNautilus 等應用程式是 thread-aware — 建立多個執行緒以處理多個使用者或多項要求,而且每一個執行緒都給予一個程序 ID。 預設情況下,pstop 只會顯示主要(初始)的執行緒,如要檢視所有的執行緒,請使用 ps -m 指令或在 top 按下 [Shift]-[H]

假如您較喜歡 top 的一個圖形化介面,您可以使用 『GNOME 系統監控』。 如要從桌面啟動它,請選擇面板上的 『主選單按鈕』 => 『系統工具』 => 『系統監控』,或是在 X 視窗系統下的 shell 提示符號輸入 gnome-system-monitor 指令。 然後選擇 『程序列表』 的標簽頁。

GNOME 系統監控 讓您可以在執行中的程序清單搜尋某個特定程序,以及檢視所有的程序、屬於您的程序或是現行的程序。

如要學習更多關於程序的資訊,請選取它,再點選 顯示詳細資訊 的按鈕,將會在視窗的底部顯示關於該程序的細節。

如要停止一個程序,請選取它,再點選 終止程序 的按鈕,這個功能對於停止回應的程序很有用。

如要以一個特定的欄位進行資料的排序,請點選該欄位的名稱,用來做排序的欄位將會以暗灰色的顏色顯示。

預設情況下,GNOME 系統監控 並不顯示執行緒,如要更改這個選項設定,請選擇 『編輯』 => 『偏好設定』,點選 『程序列表』 的標簽頁,然後選擇 『顯示執行緒』。 偏好設定也讓您設定更新的間隔,預設該顯示關於每一個程序何種類型的資訊,以及系統監視器圖像的顏色。

圖形 26-1. GNOME 系統監控