Linux 學習筆記之常用命令freetop

對於上節的 df/du 磁碟的命令操作,大家都學會了麼,沒學會的同學,請回去再看一次哦,繼續上節的學習方向,今天給大家講講另外兩個常用命令free/top,這兩個命令也是系統巡檢的主要內容之一。

命令註釋:

free

用於顯示記憶體的使用情況,包括實體記憶體,虛擬的交換檔案記憶體,共享記憶體區段,以及系統核心使用的緩衝區等。

寫法

free [-bkmotV][-s <間隔秒數>]

引數註釋

b/k/m 以 byte、kb、Mb三種單位顯示記憶體使用情況

h 與 df/du 中的一樣,以合適的單位來顯示

t 顯示記憶體總量

V 顯示版本資訊

例項

[root@Node2 ~]# free total used free shared buffers cachedMem: 132245036 95522316 36722720 0 153052 37447028-/+ buffers/cache: 57922236 74322800Swap: 2031612 280 2031332[root@Node2 ~]# free -g total used free shared buffers cachedMem: 126 91 35 0 0 35-/+ buffers/cache: 55 70Swap: 1 0 1[root@Node2 ~]# free -m total used free shared buffers cachedMem: 129145 93295 35849 0 150 36573-/+ buffers/cache: 56572 72573Swap: 1983 0 1983

從上面的命令顯示中,大家可以對比一下不同,另外也給大家說一下,Mem(記憶體容量),cache(快取),swap(交換區,類似於 windows 的虛擬記憶體)。這裡特別注意的是 swap 分割槽的使用,當它滿的時候,系統就會出現卡、無法正常啟動應用等等問題。

命令註釋

top

用於實時顯示 process 的動態情況,類似 Windows 下的任務管理器。

寫法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

top - 15:52:38 up 28 days, 20 min, 3 users, load average: 1。92, 2。21, 2。02Tasks: 467 total, 1 running, 464 sleeping, 2 stopped, 0 zombieCpu(s): 3。9%us, 2。7%sy, 0。0%ni, 92。1%id, 1。3%wa, 0。0%hi, 0。0%si, 0。0%stMem: 132245036k total, 95598736k used, 36646300k free, 157796k buffersSwap: 2031612k total, 280k used, 2031332k free, 37507204k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4839 root 20 0 33。1g 31g 2552 S 190。7 24。9 54929:42 qemu-kvm 4385 root 20 0 8718m 4。9g 5072 S 4。6 3。9 2582:43 qemu-kvm 55545 root 20 0 98。2m 4536 3392 S 2。0 0。0 0:17。30 sshd 4441 root 20 0 1468m 31m 2564 S 1。0 0。0 1277:27 glusterfsd 4464 root 20 0 18。2g 17g 2908 S 1。0 14。1 1226:24 glusterfs 55633 root 20 0 15468 1704 1000 S 1。0 0。0 0:10。71 top 66148 root 20 0 15340 1516 908 R 1。0 0。0 0:01。09 top 10 root 20 0 0 0 0 S 0。3 0。0 22:00。51 rcu_sched 3441 root 16 -4 91176 640 464 S 0。3 0。0 0:34。11 auditd 3771 root 20 0 0 0 0 S 0。3 0。0 62:38。65 jbd2/dm-3-8 4840 root 20 0 0 0 0 S 0。3 0。0 10:14。27 kvm-pit/4839 4904 root 0 -20 0 0 0 S 0。3 0。0 2:40。10 kworker/14:1H 55338 root 20 0 0 0 0 S 0。3 0。0 0:02。45 kworker/u240:3

上面的資料都是實時的,實際的效果看下圖

Linux 學習筆記之常用命令free/top

top 命令顯示效果

為了大家更好地理解裡面的意思,就再多說兩句:

圖中第一二行:

系統執行時間,有3個使用者,其中最重要的 load average後三個數字分別為1分鐘、5分鐘、15分鐘單核CPU 的負載係數,最重要的指標是最後一個數字,即前15分鐘的平均CPU負載,這個數字越小越好。所謂CPU負載指的是一段時間內任務佇列的長度,通俗地講,就是一段時間內一共有多少任務在使用或等待使用CPU。計算方法:當前的“負載值除以cpu核數”就是cpu的利用率(比如圖中所示,2。05除於32核=0。064,轉換過來才6。4%的利用率)。另外也可以使用vmstat/w/uptime 來檢視同樣的內容,因為不常用,所以就不說了。大家可以參考下面例項:

[root@Node2 ~]# vmstat procs ——————-memory—————— ——-swap—— ——-io—— ——system—— ——-cpu——- r b swpd free buff cache si so bi bo in cs us sy id wa st 4 3 280 73067296 2832 1532468 0 0 165 17 0 0 2 3 94 1 0 [root@Node2 ~]# w 16:25:06 up 28 days, 52 min, 3 users, load average: 4。81, 4。71, 3。82USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot tty1 - 08Oct21 28days 0。07s 0。07s -bashroot pts/0 172。16。11。253 15:34 2。00s 17。04s 0。02s wroot pts/1 172。16。11。253 15:34 50:10 30。58s 30。56s top[root@Node2 ~]# uptime 16:25:23 up 28 days, 53 min, 3 users, load average: 5。64, 4。89, 3。89[root@Node2 ~]#

圖中第三行:

CPU 的相關資訊,主要的含義如下

%us:表示使用者空間程式的cpu使用率(沒有透過nice排程)

%sy:表示系統空間的cpu使用率,主要是核心程式。

%ni:表示使用者空間且透過nice排程過的程式的cpu使用率。

%id:空閒cpu

%wa:cpu執行時在等待io的時間

%hi:cpu處理器中斷的數量

%si:cpu處理軟中斷的數量

%st:被虛擬機器偷走的cpu

圖中第4、5行的內容:

就是 命令 free 的內容了。這裡不用多解說,直接向上翻來看即可。

top 的命令,說白了,跟開啟windows系統裡的任務管理器差不多,裡面顯示的內容也是一樣的。都是正在執行的程序與各項(CPU/Mem/Disk)資源佔用。只不過沒有 Windows的那麼直觀與好看而已。當然,如果你認真地看完上面的文章,估計也能看明白了!不明白的,就再看多一次,最好直接上機去執行一下這個命令,然後拿著文章當對比來看。