溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux查看內(nèi)存使用情況的命令怎么用

發(fā)布時間:2022-12-01 10:52:10 來源:億速云 閱讀:288 作者:iii 欄目:建站服務器

這篇“l(fā)inux查看內(nèi)存使用情況的命令怎么用”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“l(fā)inux查看內(nèi)存使用情況的命令怎么用”文章吧。

命令有:1、free命令,可顯示系統(tǒng)內(nèi)存狀態(tài),包括物理、內(nèi)存和共享內(nèi)存和系統(tǒng)緩存的使用情況;2、“cat /proc/meminfo”命令,可讀取“/proc/meminfo”文件的內(nèi)容,顯示內(nèi)存使用情況;3、vmstat命令,可用來監(jiān)控CPU使用、進程狀態(tài)等信息;4、top命令;5、htop命令;6、sar命令;7、smem命令;8、glances命令;9、ps_mem命令。

我們經(jīng)常需要檢查服務器的內(nèi)存使用情況,以及每個進程占用的內(nèi)存,避免發(fā)生資源短缺進而影響用戶體驗。

對于網(wǎng)站和Web服務,必須具有足夠的內(nèi)存才能處理客戶端請求。 如果內(nèi)存不足,在請求高峰時就會變得緩慢,擁堵,甚至服務崩潰。當然桌面系統(tǒng)也是同樣的道理。

內(nèi)存的管理和優(yōu)化,是 Linux 系統(tǒng)性能優(yōu)化的重要組成部分,換句話說,內(nèi)存資源是否充足,會直接影響應用系統(tǒng)(包含操作系統(tǒng)和應用程序)的使用性能。

下面介紹幾個系統(tǒng)命令,通過它們,可以快速查看 Linux 系統(tǒng)中內(nèi)存的使用狀況。

1. 使用 free 命令

free 命令是Linux系統(tǒng)中最簡單和最常用的內(nèi)存查看命令。

free 命令用來顯示系統(tǒng)內(nèi)存狀態(tài),包括系統(tǒng)物理內(nèi)存、虛擬內(nèi)存(swap 交換分區(qū))、共享內(nèi)存和系統(tǒng)緩存的使用情況

示例如下:

free -m

linux查看內(nèi)存使用情況的命令怎么用

free -h

linux查看內(nèi)存使用情況的命令怎么用

其中, -m 選項是以MB為單位來展示內(nèi)存使用信息; -h 選項則是以人類(human)可讀的單位來展示。

上面的示例中, Mem: 這一行:

  • total 表示總共有 7822MB 的物理內(nèi)存(RAM),即7.6G

  • used 表示物理內(nèi)存的使用量,大約是 322M。

  • free 表示空閑內(nèi)存;

  • shared 表示共享內(nèi)存?;

  • buff/cache 表示緩存和緩沖內(nèi)存量; Linux 系統(tǒng)會將很多東西緩存起來以提高性能,這部分內(nèi)存可以在必要時進行釋放,給其他程序使用。

  • available 表示可用內(nèi)存;

輸出結(jié)果很容易理解。 Swap 這一行表示交換內(nèi)存,從示例中的數(shù)字可以看到,基本上沒使用到交換內(nèi)存。

2. 查看 /proc/meminfo

另一種方法是讀取 /proc/meminfo 文件。 我們知道, /proc 目錄下都是虛擬文件,包含內(nèi)核以及操作系統(tǒng)相關的動態(tài)信息。

$ cat /proc/meminfo

MemTotal:        8010408 kB
MemFree:          323424 kB
MemAvailable:    6956280 kB
Buffers:          719620 kB
Cached:          5817644 kB
SwapCached:          132 kB
Active:          5415824 kB
Inactive:        1369528 kB
Active(anon):     385660 kB
Inactive(anon):   249292 kB
Active(file):    5030164 kB
Inactive(file):  1120236 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       4194304 kB
SwapFree:        4193580 kB
Dirty:                60 kB
Writeback:             0 kB
AnonPages:        247888 kB
Mapped:            61728 kB
Shmem:            386864 kB
Slab:             818320 kB
SReclaimable:     788436 kB
SUnreclaim:        29884 kB
KernelStack:        2848 kB
PageTables:         5780 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     8199508 kB
Committed_AS:     942596 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       22528 kB
VmallocChunk:   34359707388 kB
HardwareCorrupted:     0 kB
AnonHugePages:     88064 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      176000 kB
DirectMap2M:     6115328 kB
DirectMap1G:     4194304 kB

重點關注這些數(shù)據(jù):

  • MemTotal, 總內(nèi)存

  • MemFree, 空閑內(nèi)存

  • MemAvailable, 可用內(nèi)存

  • Buffers, 緩沖

  • Cached, 緩存

  • SwapTotal, 交換內(nèi)存

  • SwapFree, 空閑交換內(nèi)存

提供的信息和 free 命令看到的差不多。

3. 使用 vmstat 命令

vmstat命令,是 Virtual Meomory Statistics(虛擬內(nèi)存統(tǒng)計)的縮寫,可用來監(jiān)控 CPU 使用、進程狀態(tài)、內(nèi)存使用、虛擬內(nèi)存使用、硬盤輸入/輸出狀態(tài)等信息。

使用 vmstat -s 命令和選項,可以對內(nèi)存使用情況進行統(tǒng)計, 類似于 /proc/meminfo。

示例如下:

vmstat -s

linux查看內(nèi)存使用情況的命令怎么用

最前面的幾行,顯示了內(nèi)存總量,使用量,以及空閑內(nèi)存等信息。

4. 使用 top 命令

top 命令一般用于查看進程的CPU和內(nèi)存使用情況;當然也會報告內(nèi)存總量,以及內(nèi)存使用情況,所以可用來監(jiān)控物理內(nèi)存的使用情況。
在輸出信息的頂部展示了匯總信息。

示例輸出:

top - 15:20:30 up  6:57,  5 users,  load average: 0.64, 0.44, 0.33
Tasks: 265 total,   1 running, 263 sleeping,   0 stopped,   1 zombie
%Cpu(s):  7.8 us,  2.4 sy,  0.0 ni, 88.9 id,  0.9 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8167848 total,  6642360 used,  1525488 free,  1026876 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free,  2138148 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                 
 2986 enlighte  20   0  584m  42m  26m S  14.3  0.5   0:44.27 yakuake                                                                                 
 1305 root      20   0  448m  68m  39m S   5.0  0.9   3:33.98 Xorg                                                                                    
 7701 enlighte  20   0  424m  17m  10m S   4.0  0.2   0:00.12 kio_thumbnail

各種操作系統(tǒng)提供的參數(shù)略有不同,一般來說都可以根據(jù)CPU和內(nèi)存來排序。

例如:

# CentOS
top -o %MEM
top -o %CPU

# mac
top -o mem
top -o cpu

碰到不清楚的,請使用 top -h 查看幫助信息。

重點關注頂部的 KiB MemKiB Swap 這兩行。 表示內(nèi)存的總量、使用量,以及可用量。
buffer 和 cache 部分,和 free 命令展示的差不多。

5. 使用 htop 命令

htop 命令是 Linux/Unix 系統(tǒng)的交互式進程查看器。它是一個文本模式應用程序,需要ncurses庫,它是由Hisham開發(fā)的。它被設計為頂級命令的替代方法。這類似于 top 命令,但允許您垂直和水平滾動以查看運行系統(tǒng)的所有進程。htop帶有Visual Colors,它具有額外的好處,并且在跟蹤系統(tǒng)性能時非常明顯。可以自由地執(zhí)行與進程相關的任何任務,例如進程終止和重新設置,而無需輸入其PID。

top 命令類似, 但 htop 還展示了其他的各種信息, 而且支持彩色顯示。

htop

linux查看內(nèi)存使用情況的命令怎么用

頂部的消息顯示了CPU使用率, 以及RAM和交換內(nèi)存的使用情況。

如果沒安裝,可以使用類似的命令:

yum install htop -y

6. 使用sar 命令

sar 命令也可以用來監(jiān)控 Linux 的內(nèi)存使用狀況,通過“sar -r”組合可以查看系統(tǒng)內(nèi)存和交換空間的使用率。

sar 命令很強大,是分析系統(tǒng)性能的重要工具之一,通過該命令可以全面地獲取系統(tǒng)的 CPU、運行隊列、磁盤讀寫(I/O)、分區(qū)(交換區(qū))、內(nèi)存、CPU 中斷和網(wǎng)絡等性能數(shù)據(jù)。

如下是執(zhí)行“sar -r”命令的輸出結(jié)果:

sar -r 2 3

linux查看內(nèi)存使用情況的命令怎么用

此輸出結(jié)果中,各個參數(shù)表示的含義如下:

  • kbmemfree:表示空閑的物理內(nèi)存的大?。?/p>

  • kbmemeused:表示已使用的物理內(nèi)存的大?。?/p>

  • %memused:表示已使用內(nèi)存占總內(nèi)存大小的百分比;

  • kbbuffers:表示緩沖區(qū)所使用的物理內(nèi)存的大小;

  • kbcached:表示告訴緩存所使用的物理內(nèi)存的大??;

  • kbcommit 和 %commit:分別表示當前系統(tǒng)中應用程序使用的內(nèi)存大小和百分比;

相比 free 命令,sar 命令的輸出信息更加人性化,不僅給出了內(nèi)存使用量,還給出了內(nèi)存使用的百分比以及統(tǒng)計的平均值。比如說,僅通過 %commit 一項就可以得知,當前系統(tǒng)中的內(nèi)存資源充足。

7.使用 smem 命令

smem是一個工具,可以提供大量Linux系統(tǒng)內(nèi)存使用情況的報告。與現(xiàn)有工具不同,smem 可以報告比例集大小 (PSS)、唯一集大小 (USS) 和常駐集大小 (RSS)。成比例集大小 (PSS):指虛擬內(nèi)存系統(tǒng)中庫和應用程序使用的內(nèi)存量。唯一集大小 (USS) :未共享的內(nèi)存報告為 USS(唯一集大?。?。駐留集大小 (RSS):物理內(nèi)存(通常在多個應用程序之間共享)使用情況的標準度量(稱為駐留集大小 (RSS))將大大高估內(nèi)存使用量。注:如果執(zhí)行以下命令提示未找到,請執(zhí)行“yum install smem”安裝

smem -tk

linux查看內(nèi)存使用情況的命令怎么用

8.使用 glances 命令

glances是用Python編寫的跨平臺系統(tǒng)監(jiān)控工具??梢圆榭此行畔?,例如CPU使用情況,內(nèi)存使用情況,正在運行的進程,網(wǎng)絡接口,磁盤I / O,Raid,傳感器,文件系統(tǒng)信息,Docker,系統(tǒng)信息,正常運行時間等.

glances

linux查看內(nèi)存使用情況的命令怎么用linux查看內(nèi)存使用情況的命令怎么用

9.使用 ps_mem 命令

ps_mem是一個簡單的Python腳本,允許您準確地獲取Linux中程序的核心內(nèi)存使用情況。這可以確定每個程序(而不是每個進程)使用多少 RAM。它計算每個程序使用的內(nèi)存總量,總計=總和(程序進程的專用RAM)+總和(程序進程的共享RAM)。計算共享 RAM 存在問題,并且該工具會自動為正在運行的內(nèi)核選擇最準確的方法。

ps_mem

linux查看內(nèi)存使用情況的命令怎么用

注:如果執(zhí)行以下命令提示未發(fā)現(xiàn),請執(zhí)行“yum install ps_mem”安裝

以上就是關于“l(fā)inux查看內(nèi)存使用情況的命令怎么用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關的知識內(nèi)容,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI