您好,登錄后才能下訂單哦!
這篇文章主要介紹了linux中mem是什么意思,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在linux中,mem是物理內存;當物理內存即將溢出時,會將內存中不常用的內存轉移到SWAP中,等到物理內存空余,并且SWAP的內存活躍后才轉移回來。
本教程操作環境:linux7.3系統、Dell G3電腦。
mem 是物理內存,當物理內存即將溢出時,會將內存中不常用的內存轉移到SWAP中 等到物理內存空余,并且swap的內存活躍后才轉移回來
Linux mem/swap/buffers/cached區別
free命令相對于top,提供了更簡潔的查看系統內存使用情況:
# free -m
mem:表示物理內存統計
buff/cache:表示物理內存的緩存統計
swap:表示硬盤上交換分區的使用情況
系統當前真正可用的內存并不是第一行 free 標記的,他僅代表未被分配的內存
buff/cache列占用過高
buff/cache主要干啥來的?
Linux具有先進的緩存機制,會針對dentry(用于VFS-虛擬文件系統,加速文件路徑名到inode的轉換)、buffer cache(針對磁盤塊的讀,寫)和 page cache(針對文件 inode 的讀寫)進行緩存操作來提高讀寫效率。但是在進行了大量文件操作之后,緩存會把內存資源基本用完,雖然文件讀取效率提高了,但是物理內存會被逐漸吃完。
原來是因為系統進行了頻繁的文件讀寫操作,但是為什么操作系統不會主動回收呢,原來是因為drop_caches 的默認參數設置的就是不釋放。
drop_caches 的值可以是 0-3 之間的數字,代表不同的含義:
0:不釋放(系統默認值)
1:釋放頁緩存
2:釋放dentries和inode
3:釋放所有緩存
修改:
# echo 1 > /proc/sys/vm/drop_caches
小插曲
當Linux的物理內存快要被耗盡時,系統會把一些進程占用的內存轉移到 swap 區,當物理內存被釋放一部分時,swap 區的一些內存占用又慢慢回到 mem 區,但是 mem 區卻不再是之前的滿負荷狀態,而是有一部分 free 的內存!
【總結】
1)當物理內存快被耗盡時,系統并沒有崩潰,而是拿 swap 做臨時內存,當兩者都耗盡,系統 OutofMemory
2)物理內存達到峰值,系統中一些不常用的進程內存占用被提到 swap 區
3)當 Men 區的資源進行釋放時,被挪到 swap 的內存并不會全部回來,隨著系統或者程序的喚醒才會慢慢回到 men 區
4)swap 是內存不夠時,磁盤虛擬出來的內存,磁盤主要是 I/O 級別的操作,并不是系統內核級別的操作,處理速度跟 mem 區不是一個等級
感謝你能夠認真閱讀完這篇文章,希望小編分享的“linux中mem是什么意思”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。