linux 記憶體管理 和top指令

2021-06-22 02:26:38 字數 1160 閱讀 4159

linux中,使用top指令檢視linux系統狀況,其中第四行是記憶體管理,經常我們會看到這種情況,就是空閒記憶體很小,如下:

第四行:記憶體狀態

8306544k total 物理記憶體總量(8gb)

7775876k used 使用中的記憶體總量(7.7gb)

530668k free 空閒記憶體總量(530m)

79236k buffers 快取的記憶體量 (79m)

第五行:swap交換分割槽

2031608k total 交換區總量(2gb)

2556k used 使用的交換區總量(2.5m)

2029052k free 空閒交換區總量(2gb)

4231276k cached 緩衝的交換區總量(4gb)

這裡空閒記憶體總量是530m。其實linux和windows中記憶體管理不一樣,如果是windows 8g的記憶體只剩530m可用,那麼這系統就快崩了。

在linux中,空閒記憶體總量(free)是核心還未納入其管控範圍的數量。納入核心管理的記憶體不見得都在使用中,還包括過去使用過的現在可以被重複利用的記憶體,核心並不把這些可被重新使用的記憶體交還到free中去,因此在linux上free記憶體會越來越少,但不用為此擔心。

你看到的空閒記憶體總是很小,當你的程式需要更多記憶體時,linxu系統會把做cache的記憶體還給你,讓你來執行你的程式。

這台服務區的可用記憶體其實是free +cached+buffers=4g+530m+79m

可以使用free -m檢視記憶體情況:

total 記憶體總數

used 已經使用的記憶體數(我的程式使用記憶體數量+系統快取使用的內數量)

free 空閒的物理記憶體數(是真正的空閒,未被任何程式占用)

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

buffers 磁碟快取(buffer cache)的大小(可提高系統i/o呼叫的效能)

cached  磁碟快取(page cache)的大小(可提高系統i/o呼叫的效能)

-buffers/cache 表示已被我們的程式使用的記憶體數,計算方法:used - buffers - cached

+buffers/cache 表示還可已被我使用的記憶體數,計算方法:free + buffers + cached

鏈結是linux top命令詳解:

引用:

top指令下的記憶體概念

virt 1 程序 需要的 虛擬記憶體大小,包括程序使用的庫 資料,以及 malloc new 分配的堆空間和分配的棧空間等 2 假如程序新申請 10mb 的記憶體,但實際只使用了 1mb,那麼它會增長 10mb 而不是實際的 1mb使用量。3 virt swap res res 1 程序當前使用的...

linux 檢視 cpu 和記憶體的命令 top

1.檢視記憶體,cpu 當前程序task數目,每個程序的cpu,記憶體使用率,用top 命令 在這個頁面,按 p,下面的程序排序,以cpu使用率降序排列。按m,按記憶體使用率降序排列 按n,按程序id大小降序排列 2.看記憶體,一般用 free 命令 解釋一下 第三行 是從應用程式的角度來看的,對於...

Linux程序管理命令詳解 ps和top

linux程序管理命令詳解 ps和top 1.ps命令 作用 ps命令主要檢視系統中程序的狀態。格式 ps 選項 主要選項如下。a 顯示系統中所有程序的資訊。e 顯示所有程序的資訊。f 顯示程序的所有資訊。l 以長格式顯示程序資訊。r 只顯示正在執行的程序。u 顯示面向使用者的格式 包括使用者名稱 ...