歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Unix/Linux 系統自動化管理之進程管理篇

Unix/Linux 系統自動化管理之進程管理篇

日期:2017/2/28 16:44:19   编辑:Linux教程
本文是 Unix/Linux 系統管理自動化系列中的一篇,主要講述如何實現自動化監控進程狀態和性能並及時通知系統管理員。

進程監控是 Unix/Linux 系統管理中一個非常重要的組成部分。它可以監控進程狀態、進程的 CPU 利用率等信息,並且可以在發現進程出現異常情況的時候,發送告警信息給系統管理員或者做出指定的反應。我們可以使用系統進程監控信息進行合理的進程調度從而優化系統性能,或者根據這些信息調整系統的行為。

不同的操作系統監控進程的命令可能略有不同。本文將介紹 Unix/Linux 操作系統進程管理命令及相關信息,並論述 Unix/Linux 操作系統上進程監控的自動化腳本實現。

Unix/Linux 進程管理相關命令介紹

進程是操作系統用於控制系統資源使用的實體。Unix/Linux 進程管理相關的命令主要有以下幾個,在後面的腳本實現中會用到部分命令。

顯示進程屬性命令

ps 命令:該命令是最基本同時也是非常強大的進程查看命令,用於報告進程標識、用戶、CPU 時間消耗以及其他屬性。利用它可以確定有哪些進程正在運行及運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等。ps 命令可以監控後台進程的工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入 / 輸出設備進行通信的,如果需要檢測其情況,可以使用 ps 命令。

單獨使用 ps 命令所看到的進程列表,都是在前台執行的進程,但並非所有進程都在前台執行,也有不少進程隱藏在後台執行。使用命令 ps -e 可以顯示所有進程。

進程性能檢測命令

top 命令:Linux 使用 top 命令來顯示 CPU 占用率為前幾位的進程。該命令可以按 CPU 使用率、內存使用率、執行時間對任務進行排序,而且該命令的很多特性都可以通過交互式命令或者在個人定制文件中進行設定。top 主要字段的含義如下:


表 1. top 字段含義
列名 含義 PID 進程 ID USER 進程所有者的用戶名 PR 任務優先級 NI nice 值。數值越小表示優先級越高,數值越大表示優先級越低 VIRT 進程使用的虛擬內存總量,單位:kb。VIRT=SWAP+RES RES 進程使用的、未被換出的物理內存大小,單位:kb。RES=CODE+DATA SHR 共享內存大小,單位:kb S 進程狀態。
D= 不可中斷的睡眠狀態
R= 運行
S= 睡眠
T= 跟蹤 / 停止
Z= 僵屍進程 %CPU 上次更新到現在的 CPU 時間占用百分比 TIME+ 進程使用的 CPU 時間總計,精確到 1/100 秒 COMMAND 命令名 / 命令行

topas 命令:AIX 使用 topas 命令在字符終端上報告有關本地系統上的活動的至關重要的統計信息,包括顯示 CPU 占用率為前幾位的進程。topas 命令以缺省的兩秒間隔從系統中提取並顯示統計信息。通過命令 topas -P 可以進入 topas 的 process 子部分,顯示活動進程的列表。各進程將按它們在監視間隔期間的 CPU 使用率進行排序。topas 針對每個進程所顯示的字段含義如下:


表 2. topas 字段含義
列名 含義 Name 在該進程中執行的可執行程序的名稱。此名稱將剝離任何路徑
名稱和參數信息,並將長度截斷為 9 個字符。 Process ID 進程 ID % CPU Utilization 該進程在監視間隔期間的平均 CPU 利用率。在第一次顯示某個進
程時,此值是該進程在生存期中的平均 CPU 利用率。 Paging Space Used 分配給該進程的分頁空間大小。可將這視為該進程的內存占用空間
大小,但是不包括用於保存可執行程序及其依賴的任何共享庫的內存。 Process Owner 擁有該進程的用戶的用戶名
Copyright © Linux教程網 All Rights Reserved