linux系統如何檢視記憶體使用情況

2021-06-10 12:59:31 字數 2777 閱讀 7005

[root@scs-2 tmp]# free

total used free shared buffers cached

mem: 3266180 3250004 16176 0 110652 2668236

-/+ buffers/cache: 471116 2795064

swap: 2048276 80160 1968116

下面是對這些數值的解釋:

total:總計物理記憶體的大小。

used:已使用多大。

free:可用有多少。

shared:多個程序共享的記憶體總額。

buffers/cached:磁碟快取的大小。

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

第四行就不多解釋了。

第三行所指的是從應用程式角度來看,對於應用程式來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高檔案讀取的效能,當應用程式需在用到記憶體的時候,buffer/cached會很快地被**。

所以從應用程式的角度來說,可用記憶體=系統free memory+buffers+cached。

如上例:

2795064=16176+110652+2668236

接下來解釋什麼時候記憶體會被交換,以及按什麼方交換。 當可用記憶體少於額定值的時候,就會開會進行交換。

如何看額定值:

cat /proc/meminfo

[root@scs-2 tmp]# cat /proc/meminfo

memtotal: 3266180 kb

memfree: 17456 kb

buffers: 111328 kb

cached: 2664024 kb

swapcached: 0 kb

active: 467236 kb

inactive: 2644928 kb

hightotal: 0 kb

highfree: 0 kb

lowtotal: 3266180 kb

lowfree: 17456 kb

swaptotal: 2048276 kb

swapfree: 1968116 kb

dirty: 8 kb

writeback: 0 kb

slab: 112344 kb

committed_as: 535292 kb

pagetables: 2340 kb

vmalloctotal: 536870911 kb

vmallocused: 272696 kb

vmallocchunk: 536598175 kb

hugepages_total: 0

hugepages_free: 0

hugepagesize: 2048 kb

用free -m檢視的結果:

[root@scs-2 tmp]# free -m

total used free shared buffers cached

mem: 3189 3173 16 0 107 2605

-/+ buffers/cache: 460 2729

swap: 2000 78 1921

檢視/proc/kcore檔案的大小(記憶體映象):

[root@scs-2 tmp]# ll -h /proc/kcore

-r——– 1 root root 4.1g jun 12 12:04 /proc/kcore

備註:占用記憶體的測量

測量乙個程序占用了多少記憶體,linux為我們提供了乙個很方便的方法,/proc目錄為我們提供了所有的資訊,實際上top等工具也通過這裡來獲取相應的資訊。

/proc/meminfo 機器的記憶體使用資訊

/proc/pid/maps pid為程序號,顯示當前程序所占用的虛擬位址。

/proc/pid/statm 程序所占用的記憶體

[root@localhost ~]# cat /proc/self/statm

654 57 44 0 0 334 0

輸出解釋

cpu以及cpu0。。。的每行的每個引數意思(以第一行為例)為:

引數 解釋 /proc//status

size (pages) 任務虛擬位址空間的大小 vmsize/4

resident(pages) 應用程式正在使用的物理記憶體的大小 vmrss/4

shared(pages) 共享頁數 0

trs(pages) 程式所擁有的可執行虛擬記憶體的大小 vmexe/4

lrs(pages) 被映像到任務的虛擬記憶體空間的庫的大小 vmlib/4

drs(pages) 程式資料段和使用者態的棧的大小 (vmdata+ vmstk )4

dt(pages) 04

檢視機器可用記憶體

/proc/28248/>free

total used free shared buffers cached

mem: 1023788 926400 97388 0 134668 503688

-/+ buffers/cache: 288044 735744

swap: 1959920 89608 1870312

我們通過free命令檢視機器空閒記憶體時,會發現free的值很小。這主要是因為,在linux中有這麼一種思想,記憶體不用白不用,因此它盡可能的cache和buffer一些資料,以方便下次使用。但實際上這些記憶體也是可以立刻拿來使用的。

所以 空閒記憶體=free+buffers+cached=total-used

必看!linux系統如何檢視記憶體使用情況

it168 實用技巧 在windows系統中檢視 記憶體 root scs 2 tmp free total used free shared buffers cached mem 3266180 3250004 16176 0 110652 2668236 buffers cache 471116...

檢視linux系統記憶體使用情況

每次使用free時都比較迷惑,對於上面的內容一直都不是很清楚,今天仔細查了以下,和大家一起分享以下 先看一下free的執行結果 free列印出的記憶體資訊主要分為兩種,一種是安裝的記憶體,一種是用磁碟虛擬的記憶體,就是這裡的swap,相信裝過linux系統的同學肯定不陌生交換分割槽,這裡swap大小...

linux 系統如何檢視系統日誌

mv html 路徑 從 本地 複製到 遠端 scp home daisy full.tar.gz root 172.19.2.75 home root 然後會提示你輸入另外那台172.19.2.75主機的root使用者的登入密碼,接著就開始copy了 複製目錄加引數 r 即可 從 遠端 複製到 本...