Linux常用系統(tǒng)管理命令(top、free、kill、df)

一、 top
1.作用
top命令用來顯示執(zhí)行中的程序進程,使用權(quán)限是所有用戶。
2.格式
top [-] [d delay] [q] [c] [S] [s] [i] [n]
3.主要參數(shù)
d:指定更新的間隔,以秒計算。q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優(yōu)先序執(zhí)行。c:顯示進程完整的路徑與名稱。S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。s:安全模式。i:不顯示任何閑置(Idle)或無用(Zombie)的行程。n:顯示更新的次數(shù),完成后將會退出top。
4.說明
top命令是Linux系統(tǒng)管理的一個主要命令,通過它可以獲得許多信息。這里我們結(jié)合圖1來說明它給出的信息。
圖1 top命令的顯示
在圖1中,第一行表示的項目依次為當前時間、系統(tǒng)啟動時間、當前系統(tǒng)登錄用戶數(shù)目、平均負載。第二行顯示的是所有啟動的進程、目前運行的、掛起(Sleeping)的和無用(Zombie)的進程。第三行顯示的是目前CPU的使用情況,包括系統(tǒng)占用的比例、用戶使用比例、閑置(Idle)比例。第四行顯示物理內(nèi)存的使用情況,包括總的可以使用的內(nèi)存、已用內(nèi)存、空閑內(nèi)存、緩沖區(qū)占用的內(nèi)存。第五行顯示交換分區(qū)使用情況,包括總的交換分區(qū)、使用的、空閑的和用于高速緩存的大小。第六行顯示的項目最多,下面列出了詳細解釋。
PID(Process ID):進程標示號。USER:進程所有者的用戶名。PR:進程的優(yōu)先級別。NI:進程的優(yōu)先級別數(shù)值。VIRT:進程占用的虛擬內(nèi)存值。RES:進程占用的物理內(nèi)存值。SHR:進程使用的共享內(nèi)存值。S:進程的狀態(tài),其中S表示休眠,R表示正在運行,Z表示僵死狀態(tài),N表示該進程優(yōu)先值是負數(shù)。%CPU:該進程占用的CPU使用率。%MEM:該進程占用的物理內(nèi)存和總內(nèi)存的百分比。TIME+:該進程啟動后占用的總的CPU時間。Command:進程啟動的啟動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。
top命令使用過程中,還可以使用一些交互的命令來完成其它參數(shù)的功能。這些命令是通過快捷鍵啟動的。
<空格>:立刻刷新。P:根據(jù)CPU使用大小進行排序。M:根據(jù)使用內(nèi)存大小進行排序。T:根據(jù)時間、累計時間排序。q:退出top命令。m:切換顯示內(nèi)存信息。t:切換顯示進程和CPU狀態(tài)信息。c:切換顯示命令名稱和完整命令行。W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
可以看到,top命令是一個功能十分強大的監(jiān)控系統(tǒng)的工具,對于系統(tǒng)管理員而言尤其重要。但是,它的缺點是會消耗很多系統(tǒng)資源。
5.應用實例
使用top命令可以監(jiān)視指定用戶,缺省情況是監(jiān)視所有用戶的進程。如果想查看指定用戶的情況,在終端中按“U”鍵,然后輸入用戶名,系統(tǒng)就會切換為指定用戶的進程運行界面,見圖2所示。
圖2 使用top命令監(jiān)視指定用戶
二、 free
1.作用
free命令用來顯示內(nèi)存的使用情況,使用權(quán)限是所有用戶。
2.格式
free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
3.主要參數(shù)
-b -k -m:分別以字節(jié)(KB、MB)為單位顯示內(nèi)存使用情況。-s delay:顯示每隔多少秒數(shù)來顯示一次內(nèi)存使用情況。l-t:顯示內(nèi)存總和列。-o:不顯示緩沖區(qū)調(diào)節(jié)列。
4.應用實例
free命令是用來查看內(nèi)存使用情況的主要命令。和top命令相比,它的優(yōu)點是使用簡單,并且只占用很少的系統(tǒng)資源。通過-S參數(shù)可以使用free命令不間斷地監(jiān)視有多少內(nèi)存在使用,這樣可以把它當作一個方便實時監(jiān) 控 器。
#free -m -s 3
使用這個命令后終端會連續(xù)不斷地報告內(nèi)存使用情況(以MB為單位),每3秒更新一次。
三、 kill
1.作用
kill命令用來中止一個進程。
2.格式
kill [ -s signal | -p ] [ -a ] pid …
kill -l [ signal ]
3.參數(shù)
-s:指定發(fā)送的信號。-p:模擬發(fā)送信號。-l:指定信號的名稱列表。pid:要中止進程的ID號。Signal:表示信號。
4.說明
進程是Linux系統(tǒng)中一個非常重要的概念。Linux是一個多任務的操作系統(tǒng),系統(tǒng)上經(jīng)常同時運行著多個進程。我們不關(guān)心這些進程究竟是如何分配的,或者是內(nèi)核如何管理分配時間片的,所關(guān)心的是如何去控制這些進程,讓它們能夠很好地為用戶服務。
Linux操作系統(tǒng)包括三種不同類型的進程,每種進程都有自己的特點和屬性。交互進程是由一個Shell啟動的進程。交互進程既可以在前臺運行,也可以在后臺運行。批處理進程和終端沒有聯(lián)系,是一個進程序列。監(jiān)控進程(也稱系統(tǒng)守護進程)時Linux系統(tǒng)啟動時啟動的進程,并在后臺運行。例如,httpd是著名的Apache服務器的監(jiān)控進程。
kill命令的工作原理是,向Linux系統(tǒng)的內(nèi)核發(fā)送一個系統(tǒng)操作信號和某個程序的進程標識號,然后系統(tǒng)內(nèi)核就可以對進程標識號指定的進程進行操作。比如在top命令中,我們看到系統(tǒng)運行許多進程,有時就需要使用kill中止某些進程來提高系統(tǒng)資源。在講解安裝和登陸命令時,曾提到系統(tǒng)多個虛擬控制臺的作用是當一個程序出錯造成系統(tǒng)死鎖時,可以切換到其它虛擬控制臺工作關(guān)閉這個程序。此時使用的命令就是kill,因為kill是大多數(shù)Shell內(nèi)部命令可以直接調(diào)用的。
5.應用實例
(1)強行中止(經(jīng)常使用殺掉)一個進程標識號為324的進程:
#kill -9 324
(2)解除Linux系統(tǒng)的死鎖
在Linux中有時會發(fā)生這樣一種情況:一個程序崩潰,并且處于死鎖的狀態(tài)。此時一般不用重新啟動計算機,只需要中止(或者說是關(guān)閉)這個有問題的程序即可。當kill處于X-Window界面時,主要的程序(除了崩潰的程序之外)一般都已經(jīng)正常啟動了。此時打開一個終端,在那里中止有問題的程序。比如,如果Mozilla瀏覽器程序出現(xiàn)了鎖死的情況,可以使用kill命令來中止所有包含有Mozolla瀏覽器的程序。首先用top命令查處該程序的PID,然后使用kill命令停止這個程序:
#kill -SIGKILL XXX
其中,XXX是包含有Mozolla瀏覽器的程序的進程標識號。
(3)使用命令回收內(nèi)存
我們知道內(nèi)存對于系統(tǒng)是非常重要的,回收內(nèi)存可以提高系統(tǒng)資源。kill命令可以及時地中止一些“越軌”的程序或很長時間沒有相應的程序。例如,使用top命令發(fā)現(xiàn)一個無用 (Zombie) 的進程,此時可以使用下面命令:
#kill -9 XXX
其中,XXX是無用的進程標識號。
然后使用下面命令:
#free
此時會發(fā)現(xiàn)可用內(nèi)存容量增加了。
(4)killall命令
Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:
# killall -HUP inetd
四、 查看磁盤盤剩余空間 df (df -h)
用法:df [選項]… [文件]…
顯示每個<文件>所在的文件系統(tǒng)的信息,默認是顯示所有文件系統(tǒng)。
長選項必須用的參數(shù)在使用短選項時也是必須的。
-a, –all 包括大小為 0 個塊的文件系統(tǒng)-B, –block-size=大小 塊以指定<大小>的字節(jié)為單位-h, –human-readable 以容易理解的格式印出文件系統(tǒng)大小 (例如 1K 234M 2G)-H, –si 類似 -h,但取 1000 的次方而不是 1024-i, –inodes 顯示 inode 信息而非塊使用量-k 即 –block-size=1K-l, –local 只顯示本機的文件系統(tǒng)–no-sync 取得使用量數(shù)據(jù)前不進行 sync 動作 (默認)-P, –portability 使用 POSIX 輸出格式–sync 取得使用量數(shù)據(jù)前先進行 sync 動作-t, –type=類型 只印出指定<類型>的文件系統(tǒng)信息-T, –print-type 印出文件系統(tǒng)類型-x, –exclude-type=類型 只印出不是指定<類型>的文件系統(tǒng)信息-v (此選項不作處理)
匯總:
top -c
free -m
kill -9 2312 (說明:強制殺 死 進程 kill -9 pid )
df -h
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運維工作中,獲取 CPU 信息是系統(tǒng)運維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機u盤,詳細如下2025-02-17Rsnapshot怎么用? 基于Rsync的強大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠程文件,接下來詳細介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進,進一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細安裝指南2025-01-16