首頁  >  文章  >  系統教程  >  總結Linux下查看記憶體使用量的多種方法

總結Linux下查看記憶體使用量的多種方法

WBOY
WBOY轉載
2024-02-11 16:21:31725瀏覽

記憶體是電腦系統中的關鍵資源,對於Linux作業系統來說更是至關重要。但是,你是否曾經遇到過記憶體不足的問題,或是覺得自己的系統記憶體使用效率不高?本文將帶你深入了解Linux記憶體相關的概念和原理,從而幫助你更好地管理和優化系統記憶體。

1./proc/meminfo

查看 RAM 使用情況最簡單的方法是透過 /proc/meminfo。這個動態更新的虛擬檔案其實是許多其他記憶體相關工具 (如:free / ps / top) 等的組合顯示。 /proc/meminfo 列出了所有你想了解的記憶體的使用情況。進程的記憶體使用資訊也可以透過 /proc//statm 和 /proc//status 來查看。

$ cat /proc/meminfo 
MemTotal:        8010436 kB
MemFree:         7514008 kB
MemAvailable:    7567204 kB
Buffers:             872 kB
Cached:           282844 kB
SwapCached:            0 kB
Active:           213156 kB
Inactive:         111632 kB
Active(anon):      41264 kB
Inactive(anon):    32888 kB
Active(file):     171892 kB
Inactive(file):    78744 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                32 kB
Writeback:             0 kB
AnonPages:         41088 kB
Mapped:            35936 kB
Shmem:             33080 kB
Slab:              66888 kB
SReclaimable:      48120 kB
SUnreclaim:        18768 kB
KernelStack:        1872 kB
PageTables:         2788 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4005216 kB
Committed_AS:     272452 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       22136 kB
VmallocChunk:   34359707388 kB
HardwareCorrupted:     0 kB
AnonHugePages:      4096 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       79740 kB
DirectMap2M:     3065856 kB
DirectMap1G:     7340032 kB

2.atop

#atop 指令是一個終端機環境的監控指令。它顯示的是各種系統資源(CPU, memory, network, I/O, kernel)的綜合,並且在高負載的情況下進行了彩色標註。

$ sudo atop
總結Linux下查看記憶體使用量的多種方法

3.free

free 指令是一個快速查看記憶體使用情況的方法,它是對 /proc/meminfo 收集到的資訊的一個概述。

$ free -h

4.GNOME System Monitor

GNOME System Monitor 是一個顯示最近一段時間內的 CPU、記憶體、交換區及網路的使用情況的視圖工具。它還提供了一種查看 CPU 及記憶體使用情況的方法。

$ gnome-system-monitor

5.htop

#htop 指令顯示了每個進程的記憶體即時使用率。它提供了所有進程的常駐記憶體大小、程式總記憶體大小、共享庫大小等的報告。列表可以水平及垂直滾動。

$ htop

6.KDE System Monitor

功能同 4 介紹的 GENOME 版本。

$ ksysguard

7.memstat

#memstat 是一個有效辨識 executable(s), process(es) and shared libraries 使用虛擬記憶體狀況的指令。給定一個進程 ID,memstat 可以列出這個進程相關的可執行檔、資料和共用程式庫。

$ memstat -p

8.nmon

#nmon 是一個基於 ncurses 的系統基準測試工具,它可以監控 CPU、記憶體、I/O、檔案系統及網路資源等的互動模式。對於記憶體的使用,它可以即時的顯示總 / 剩餘記憶體、交換空間等資訊。

$ nmon

9.ps

#ps 指令可以即時的顯示各個進程的記憶體使用情況。 Reported memory usage information includes %MEM (percent of physical memory used), VSZ (totalamount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort” 選項對進程進行排序,例如按 RSS 進行排序:

$ ps aux | sort -rss

圖8:Linux下查看記憶體使用方法總結

10.smem

#smem 指令讓你可以統計基於 / proc 資訊的不同進程和使用者的記憶體使用情況。記憶體使用情況的分析可以匯出圖表(如長條圖和圓餅圖)。

smem  -P sshd -k
  PID User     Command                         Swap      USS      PSS      RSS 
  815 root     /usr/sbin/sshd                     0   868.0K   951.0K     1.3M 
14104 root     sshd: root@pts/0                   0     2.8M     3.5M     5.3M 
14292 root     python /usr/bin/smem -P ssh        0     5.1M     5.8M     7.2M 

11.top

#top 指令提供了即時的運行中的程式的資源使用統計。你可以根據記憶體的使用和大小來進行排序。

$ top

12.vmstat

#vmstat 指令顯示即時的和平均的統計,覆蓋 CPU、記憶體、I/O 等內容。例如記憶體情況,不僅顯示實體內存,也統計虛擬記憶體。

透過本文的學習,你已經了解了Linux記憶體管理的基本原理、記憶體分類、記憶體使用情況的檢視以及如何優化系統記憶體等知識。同時,我們也分享了一些實用的記憶體管理工具和技巧,幫助你進一步提升系統效能和運作效率。希望這篇文章能夠對你有所啟發和幫助!

以上是總結Linux下查看記憶體使用量的多種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除