linux swap分区与内存,虚拟内存和swap分区的关系
首先,這兩個概念分別對應windows和linux,即:
windows:虛擬內存
linux:swap分區(qū)
windows即使物理內存沒有用完也會去用到虛擬內存,而Linux不一樣 Linux只有當物理內存用完的時候才會去動用虛擬內存(即swap分區(qū))
swap類似于windows的虛擬內存,不同之處在于,Windows可以設置在windows的任何盤符下面,默認是在C盤,可以和系統(tǒng)文件放在一個分區(qū)里。而linux則是獨立占用一個分區(qū),方便由于內存需求不夠的情況下,把一部分內容放在swap分區(qū)里,待內存有空余的情況下再繼續(xù)執(zhí)行,也稱之為交換分區(qū),交換空間是其中的部分
windows的虛擬內存是電腦自動設置的
Linux的swap分區(qū)是你裝系統(tǒng)的時候分好的
tmpfs:
linux下面VM的大小由RM(Real Memory)和swap組成,RM的大小就是物理內存的大小,而Swap的大小是由你自己決定的。Swap是通過硬盤虛擬出來的內存空間,因此它的讀寫速度相對RM(Real Memory)要慢許多,我們?yōu)槭裁葱枰猄wap呢?當一個進程申請一定數量的內存時,如內核的vm子系統(tǒng)發(fā)現沒有足夠的RM時,就會把RM里面的一些不常用的數據交換到Swap里面,如果需要重新使用這些數據再把它們從Swap交換到RM里面。 如果你有足夠大的物理內存,根本不需要劃分Swap分區(qū)。通過上面的說明,你該知道tmpfs使用的存儲空間VM是什么了吧? 前面說過VM由RM+Swap兩部分組成,因此tmpfs最大的存儲空間可達(The size of RM + The size ofSwap)。 但是對于tmpfs本身而言,它并不知道自己使用的空間是RM還是Swap,這一切都是由內核的vm子系統(tǒng)管理的。
df命令:
tmpfs大小小于實際內存大小(共享內存基于它實現,有待進一步研究):
VM由RM+Swap兩部分組成,因此tmpfs最大的存儲空間可達(The size of RM + The size of Swap)。 但是對于tmpfs本身而言,它并不知道自己使用的空間是RM還是Swap,這一切都是由內核的vm子系統(tǒng)管理的。
tmpfs默認的大小是RM的一半,假如你的物理內存是1024M,那么tmpfs默認的大小就是512M
一般情況下,是配置的小于物理內存大小的。
tmpfs配置的大小并不會真正的占用這塊內存,如果/dev/shm/下沒有任何文件,它占用的內存實際上就是0字節(jié);如果它最大為1G,里頭放有100M文件,那剩余的900M仍然可為其它應用程序所使用,但它所占用的100M內存,是不會被系統(tǒng)回收重新劃分的。
當刪除tmpfs中文件,tmpfs 文件系統(tǒng)驅動程序會動態(tài)地減小文件系統(tǒng)并釋放 VM 資源。
裸盤?lsscsi命令查看
總結
以上是生活随笔為你收集整理的linux swap分区与内存,虚拟内存和swap分区的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快手首次发布汽车行业品效运解决方案,垂直
- 下一篇: zynq+linux固化程序,如何在 Z