檢查程序資訊

核心提供有用的處理程序及環境資訊。 這些指令可用來檢視此資訊。

ps 指令

在 Linux®上,視 Linux 發行套件而定, Java™ 執行緒會實作為系統執行緒,且在處理程序表格中可能可見。

執行 ps 指令會提供現行處理程序的 Snapshot。 ps 指令會從 /proc 檔案系統取得其資訊。 以下是使用 ps 的範例:

ps -efwH

UID  PID  PPID  C STIME TTY   TIME        CMD
cass 1234 1231  0 Aug07  ?    00:00:00    /bin/bash
cass 1555 1234  0 Aug07  ?    00:00:02    java app
cass 1556 1555  0 Aug07  ?    00:00:00    java app
cass 1557 1556  0 Aug07  ?    00:00:00    java app
cass 1558 1556  0 Aug07  ?    00:00:00    java app
cass 1559 1556  0 Aug07  ?    00:00:00    java app
cass 1560 1556  0 Aug07  ?    00:00:00    java app    	   
e
指定要選取所有處理程序。
f
確保提供完整清單。
l
以長格式顯示。
m
如果依預設未顯示執行緒,則顯示執行緒。
w
可確保寬輸出的輸出修飾元。
H
當您對 Java 執行緒感興趣時非常有用,因為它會顯示階層式清單。 使用階層式顯示畫面,您可以決定哪一個處理程序是原始執行緒,哪一個是執行緒管理程式,哪一個是子執行緒。 在前一個範例中,處理程序 1555 是原始執行緒,而處理程序 1556 是執行緒管理程式。 所有子程序都有一個指向執行緒管理程式的母程序 ID。

top 指令

top 指令會即時顯示最耗用 CPU 或耗用記憶體的處理程序。 它提供互動式介面來操作處理程序,並容許依不同的準則 (例如 CPU 使用率或記憶體用量) 進行排序。 執行 top 時按 h 以查看所有可用的互動式指令。

top 指令會顯示每一個處理程序的數個資訊欄位。 處理程序欄位會顯示執行中的處理程序總數,但會將資訊細分為執行中、休眠中、已停止或未停用的作業。 除了顯示 PID、PPID 及 UID 之外, top 指令還會顯示記憶體用量及交換空間的相關資訊。 Themem欄位顯示記憶體用量的統計資料,包括可用記憶體、可用記憶體、已用記憶體、共用記憶體及用於緩衝區的記憶體。 交換欄位顯示交換空間總計、可用交換空間及已用交換空間。

vmstat 指令

vmstat 指令會報告虛擬儲存體統計資料。 在系統上執行一般性能檢查非常有用,因為它會報告整個系統。 top 之類的指令可用來取得處理程序作業的特定相關資訊。

當您在階段作業期間第一次使用它時,會將資訊報告為自前次重新開機以來的平均值。 進一步使用會根據您可以指定為選項的取樣期間產生報告。 vmstat 3 4 每 3 秒顯示一次值,計數為 4 次。 在應用程式之前啟動 vmstat 可能很有用,讓它將其輸出導向至檔案,並稍後在應用程式啟動並執行時研究統計資料。

此指令的基本輸出會顯示在下列區段中:

處理程序
顯示有多少處理程序正在等待執行時期、已封鎖或已換出。
memory
顯示交換、可用、緩衝及快取的記憶體數量 (以 KB 為單位)。 如果在應用程式執行的特定階段期間,可用記憶體正在關閉,則可能發生記憶體洩漏。
swap
顯示每秒從磁碟換入及換出至磁碟的記憶體 KB 數。 如果沒有足夠的 RAM 可用來儲存所有記憶體,則會將記憶體換出至磁碟。 這裡較大的值可能是沒有足夠可用的 RAM 的提示 (雖然在應用程式第一次啟動時取得交換是正常的)。
IO
顯示每秒傳送至區塊裝置及從區塊裝置接收的記憶體區塊數。
系統
顯示每秒岔斷數及環境定義切換數。 每一個環境定義切換都有相關聯的效能損失,因此此區段的高值可能表示程式無法妥善擴充。
cpu
顯示使用者時間、系統時間及閒置時間之間的處理器時間明細。 閒置時間圖顯示處理器忙碌的程度,低值指出處理器忙碌。 您可以使用此知識來協助您瞭解程式中哪些區域最常使用 CPU。