1.作用
top命令用來顯示執行中的程序進程,使用權限是所有用戶。
2.格式
top [-] [d delay] [q] [c] [S] [s] [i] [n]
3.主要參數
d:指定更新的間隔,以秒計算。q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優先序執行。c:顯示進程完整的路徑與名稱。S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。s:安全模式。i:不顯示任何閒置(Idle)或無用(Zombie)的行程。n:顯示更新的次數,完成後將會退出top。4.說明
top命令是Linux系統管理的一個主要命令,通過它可以獲得許多信息。這裡我們結合圖1來說明它給出的信息。
圖1 top命令的顯示
在圖1中,第一行表示的項目依次為當前時間、系統啟動時間、當前系統登錄用戶數目、平均負載。第二行顯示的是所有啟動的進程、目前運行的、掛起(Sleeping)的和無用(Zombie)的進程。第三行顯示的是目前CPU的使用情況,包括系統占用的比例、用戶使用比例、閒置(Idle)比例。第四行顯示物理內存的使用情況,包括總的可以使用的內存、已用內存、空閒內存、緩沖區占用的內存。第五行顯示交換分區使用情況,包括總的交換分區、使用的、空閒的和用於高速緩存的大小。第六行顯示的項目最多,下面列出了詳細解釋。
PID(Process ID):進程標示號。USER:進程所有者的用戶名。PR:進程的優先級別。NI:進程的優先級別數值。VIRT:進程占用的虛擬內存值。RES:進程占用的物理內存值。SHR:進程使用的共享內存值。S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。%CPU:該進程占用的CPU使用率。%MEM:該進程占用的物理內存和總內存的百分比。TIME+:該進程啟動後占用的總的CPU時間。Command:進程啟動的啟動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。top命令使用過程中,還可以使用一些交互的命令來完成其它參數的功能。這些命令是通過快捷鍵啟動的。
<空格>:立刻刷新。P:根據CPU使用大小進行排序。M:根據使用內存大小進行排序。T:根據時間、累計時間排序。q:退出top命令。m:切換顯示內存信息。t:切換顯示進程和CPU狀態信息。c:切換顯示命令名稱和完整命令行。W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。可以看到,top命令是一個功能十分強大的監控系統的工具,對於系統管理員而言尤其重要。但是,它的缺點是會消耗很多系統資源。
5.應用實例
使用top命令可以監視指定用戶,缺省情況是監視所有用戶的進程。如果想查看指定用戶的情況,在終端中按“U”鍵,然後輸入用戶名,系統就會切換為指定用戶的進程運行界面,見圖2所示。
圖2 使用top命令監視指定用戶
二、 free
1.作用
free命令用來顯示內存的使用情況,使用權限是所有用戶。
2.格式
free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
3.主要參數
-b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。-s delay:顯示每隔多少秒數來顯示一次內存使用情況。l-t:顯示內存總和列。-o:不顯示緩沖區調節列。4.應用實例
free命令是用來查看內存使用情況的主要命令。和top命令相比,它的優點是使用簡單,並且只占用很少的系統資源。通過-S參數可以使用free命令不間斷地監視有多少內存在使用,這樣可以把它當作一個方便實時監控器。
#free -m -s 3
使用這個命令後終端會連續不斷地報告內存使用情況(以MB為單位),每3秒更新一次。
三、 kill1.作用
kill命令用來中止一個進程。
2.格式
kill [ -s signal | -p ] [ -a ] pid …
kill -l [ signal ]
3.參數
-s:指定發送的信號。-p:模擬發送信號。-l:指定信號的名稱列表。pid:要中止進程的ID號。Signal:表示信號。4.說明
進程是Linux系統中一個非常重要的概念。Linux是一個多任務的操作系統,系統上經常同時運行著多個進程。我們不關心這些進程究竟是如何分配的,或者是內核如何管理分配時間片的,所關心的是如何去控制這些進程,讓它們能夠很好地為用戶服務。
Linux操作系統包括三種不同類型的進程,每種進程都有自己的特點和屬性。交互進程是由一個Shell啟動的進程。交互進程既可以在前台運行,也可以在後台運行。批處理進程和終端沒有聯系,是一個進程序列。監控進程(也稱系統守護進程)時Linux系統啟動時啟動的進程,並在後台運行。例如,httpd是著名的Apache服務器的監控進程。
kill命令的工作原理是,向Linux系統的內核發送一個系統操作信號和某個程序的進程標識號,然後系統內核就可以對進程標識號指定的進程進行操作。比如在top命令中,我們看到系統運行許多進程,有時就需要使用kill中止某些進程來提高系統資源。在講解安裝和登陸命令時,曾提到系統多個虛擬控制台的作用是當一個程序出錯造成系統死鎖時,可以切換到其它虛擬控制台工作關閉這個程序。此時使用的命令就是kill,因為kill是大多數Shell內部命令可以直接調用的。
5.應用實例
(1)強行中止(經常使用殺掉)一個進程標識號為324的進程:
#kill -9 324
(2)解除Linux系統的死鎖
在Linux中有時會發生這樣一種情況:一個程序崩潰,並且處於死鎖的狀態。此時一般不用重新啟動計算機,只需要中止(或者說是關閉)這個有問題的程序即可。當kill處於X-Window界面時,主要的程序(除了崩潰的程序之外)一般都已經正常啟動了。此時打開一個終端,在那裡中止有問題的程序。比如,如果Mozilla浏覽器程序出現了鎖死的情況,可以使用kill命令來中止所有包含有Mozolla浏覽器的程序。首先用top命令查處該程序的PID,然後使用kill命令停止這個程序:
#kill -SIGKILL XXX
其中,XXX是包含有Mozolla浏覽器的程序的進程標識號。
(3)使用命令回收內存
我們知道內存對於系統是非常重要的,回收內存可以提高系統資源。kill命令可以及時地中止一些“越軌”的程序或很長時間沒有相應的程序。例如,使用top命令發現一個無用 (Zombie) 的進程,此時可以使用下面命令:
#kill -9 XXX
其中,XXX是無用的進程標識號。
然後使用下面命令:
#free
此時會發現可用內存容量增加了。
(4)killall命令
Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:
# killall -HUP inetd
四、 查看磁盤盤剩余空間 df (df -h)用法:df [選項]… [文件]…
顯示每個<文件>所在的文件系統的信息,默認是顯示所有文件系統。
長選項必須用的參數在使用短選項時也是必須的。
-a, –all 包括大小為 0 個塊的文件系統-B, –block-size=大小 塊以指定<大小>的字節為單位-h, –human-readable 以容易理解的格式印出文件系統大小 (例如 1K 234M 2G)-H, –si 類似 -h,但取 1000 的次方而不是 1024-i, –inodes 顯示 inode 信息而非塊使用量-k 即 –block-size=1K-l, –local 只顯示本機的文件系統–no-sync 取得使用量數據前不進行 sync 動作 (默認)-P, –portability 使用 POSIX 輸出格式–sync 取得使用量數據前先進行 sync 動作-t, –type=類型 只印出指定<類型>的文件系統信息-T, –print-type 印出文件系統類型-x, –exclude-type=類型 只印出不是指定<類型>的文件系統信息-v (此選項不作處理)匯總:
top -c
free -m
kill -9 2312 (說明:強制殺死進程 kill -9 pid )
df -h