tmpfs 内存文件系统
生活随笔
收集整理的這篇文章主要介紹了
tmpfs 内存文件系统
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前幾天發(fā)現(xiàn)服務(wù)器的內(nèi)存(ram)和swap使用率非常低,于是就想這么多的資源不用豈不浪費(fèi)了?google了一下,認(rèn)識了tmpfs,總的來說tmpfs是一種虛擬內(nèi)存文件系統(tǒng)正如這個定義它最大的特點(diǎn)就是它的存儲空間在VM里面,這里提一下VM(virtual memory),VM是由linux內(nèi)核里面的vm子系統(tǒng)管理的東東,現(xiàn)在大多數(shù)操作系統(tǒng)都采用了虛擬內(nèi)存管理機(jī)制?
linux下面VM的大小由RM(Real Memory)和swap組成,RM的大小就是物理內(nèi)存的大小,而Swap的大小是由你自己決定的。Swap是通過硬盤虛擬出來的內(nèi)存空間,因此它的讀寫速度相對RM(Real Memory)要慢許多,我們?yōu)槭裁葱枰猄wap呢?當(dāng)一個進(jìn)程申請一定數(shù)量的內(nèi)存時,如內(nèi)核的vm子系統(tǒng)發(fā)現(xiàn)沒有足夠的RM時,就會把RM里面的一些不常用的數(shù)據(jù)交換到Swap里面,如果需要重新使用這些數(shù)據(jù)再把它們從Swap交換到RM里面。 如果你有足夠大的物理內(nèi)存,根本不需要劃分Swap分區(qū)。
通過上面的說明,你該知道tmpfs使用的存儲空間VM是什么了吧? 前面說過VM由RM+Swap兩部分組成,因此tmpfs最大的存儲空間可達(dá)(The size of RM + The size of Swap)。 但是對于tmpfs本身而言,它并不知道自己使用的空間是RM還是Swap,這一切都是由內(nèi)核的vm子系統(tǒng)管理的。
怎樣使用tmpfs呢?
上面這條命令分配了上限為20m的VM到/mnt/tmp目錄下,用df命令查看一下,確實(shí)/mnt/tmp掛載點(diǎn)顯示的大小是20m,但是tmpfs一個優(yōu)點(diǎn)就是它的大小是隨著實(shí)際存儲的容量而變化的,換句話說,假如/mnt/tmp目錄下什么也沒有,tmpfs并不占用VM。上面的參數(shù)20m只是告訴內(nèi)核這個掛載點(diǎn)最大可用的VM為20m,如果不加上這個參數(shù),tmpfs默認(rèn)的大小是RM的一半,假如你的物理內(nèi)存是128M,那么tmpfs默認(rèn)的大小就是64M,
tmpfs有沒有缺點(diǎn)呢?
當(dāng)然有,由于它的數(shù)據(jù)是在VM里面,因此斷電或者你卸載它之后,數(shù)據(jù)就會立即丟失,這也許就是它叫tmpfs的原故。不過這其實(shí)不能說是缺點(diǎn)。那tmpfs到底有什么用呢?
tmpfs的用途
由于tmpfs使用的是VM,因此它比硬盤的速度肯定要快,因此我們可以利用這個優(yōu)點(diǎn)使用它來提升機(jī)器的性能。
上面這條命令分配了最大2m的VM給/tmp。?
由于/tmp目錄是放臨時文件的地方,因此我們可以使用tmpfs來加快速度,由于沒有掛載之前/tmp目錄下的文件也許正在被使用,因此掛載之后系統(tǒng)也許有的程序不能正常工作。沒有關(guān)系,只要在/etc/fstab里面加上下面的語句
linux下面VM的大小由RM(Real Memory)和swap組成,RM的大小就是物理內(nèi)存的大小,而Swap的大小是由你自己決定的。Swap是通過硬盤虛擬出來的內(nèi)存空間,因此它的讀寫速度相對RM(Real Memory)要慢許多,我們?yōu)槭裁葱枰猄wap呢?當(dāng)一個進(jìn)程申請一定數(shù)量的內(nèi)存時,如內(nèi)核的vm子系統(tǒng)發(fā)現(xiàn)沒有足夠的RM時,就會把RM里面的一些不常用的數(shù)據(jù)交換到Swap里面,如果需要重新使用這些數(shù)據(jù)再把它們從Swap交換到RM里面。 如果你有足夠大的物理內(nèi)存,根本不需要劃分Swap分區(qū)。
通過上面的說明,你該知道tmpfs使用的存儲空間VM是什么了吧? 前面說過VM由RM+Swap兩部分組成,因此tmpfs最大的存儲空間可達(dá)(The size of RM + The size of Swap)。 但是對于tmpfs本身而言,它并不知道自己使用的空間是RM還是Swap,這一切都是由內(nèi)核的vm子系統(tǒng)管理的。
怎樣使用tmpfs呢?
| CODE:#mount -t tmpfs -o size=20m tmpfs /mnt/tmp |
上面這條命令分配了上限為20m的VM到/mnt/tmp目錄下,用df命令查看一下,確實(shí)/mnt/tmp掛載點(diǎn)顯示的大小是20m,但是tmpfs一個優(yōu)點(diǎn)就是它的大小是隨著實(shí)際存儲的容量而變化的,換句話說,假如/mnt/tmp目錄下什么也沒有,tmpfs并不占用VM。上面的參數(shù)20m只是告訴內(nèi)核這個掛載點(diǎn)最大可用的VM為20m,如果不加上這個參數(shù),tmpfs默認(rèn)的大小是RM的一半,假如你的物理內(nèi)存是128M,那么tmpfs默認(rèn)的大小就是64M,
tmpfs有沒有缺點(diǎn)呢?
當(dāng)然有,由于它的數(shù)據(jù)是在VM里面,因此斷電或者你卸載它之后,數(shù)據(jù)就會立即丟失,這也許就是它叫tmpfs的原故。不過這其實(shí)不能說是缺點(diǎn)。那tmpfs到底有什么用呢?
tmpfs的用途
由于tmpfs使用的是VM,因此它比硬盤的速度肯定要快,因此我們可以利用這個優(yōu)點(diǎn)使用它來提升機(jī)器的性能。
| CODE:#mount -t tmpfs -o size=2m tmpfs /tmp |
上面這條命令分配了最大2m的VM給/tmp。?
由于/tmp目錄是放臨時文件的地方,因此我們可以使用tmpfs來加快速度,由于沒有掛載之前/tmp目錄下的文件也許正在被使用,因此掛載之后系統(tǒng)也許有的程序不能正常工作。沒有關(guān)系,只要在/etc/fstab里面加上下面的語句
| CODE:tmpfs /tmp tmpfs size=2m 0 0 |
重啟電腦之后就一切OK了。
總結(jié)
以上是生活随笔為你收集整理的tmpfs 内存文件系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存管理中的几种地址类型
- 下一篇: 学会理解并编辑/etc/fstab