生活随笔
收集整理的這篇文章主要介紹了
使用内存文件系统
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在Linux中可以將一部分內(nèi)存mount為分區(qū)來(lái)使用,通常稱之為RamDisk。
RamDisk有三種實(shí)現(xiàn)方式:
· 第一種就是傳統(tǒng)意義上的,可以格式化,然后加載。
?????? 這在Linux內(nèi)核2.0/2.2就已經(jīng)支持,其不足之處是大小固定,之后不能改變。
???????為了能夠使用Ramdisk,我們?cè)诰幾g內(nèi)核時(shí)須將block device中的Ramdisk支持選上,它下面還有兩個(gè)選項(xiàng),一個(gè)是設(shè)定Ramdisk的大小,默認(rèn)是4096k;另一個(gè)是initrd的支持。
?????? 如果對(duì)Ramdisk的支持已經(jīng)編譯進(jìn)內(nèi)核,我們就可以使用它了:
?????????????????????首先查看一下可用的RamDisk,使用ls /dev/ram*
???????????????????? 首先創(chuàng)建一個(gè)目錄,比如test,運(yùn)行mkdir /mnt/test;
?????????????????????然后對(duì)/dev/ram0 創(chuàng)建文件系統(tǒng),運(yùn)行mke2fs /dev/ram0;
???????????????????? 最后掛載 /dev/ram0,運(yùn)行mount /dev/ram /mnt/test,就可以象對(duì)普通硬盤一樣對(duì)它進(jìn)行操作了。
???????更詳細(xì)的內(nèi)容可以參考: http://www.linuxfocus.org/ChineseGB/November1999/article124.html?
????????????????????????????????????????????? ??http://www.vanemery.com/Linux/Ramdisk/ramdisk.html
· 另兩種則是內(nèi)核2.4才支持的,通過(guò)Ramfs或者Tmpfs來(lái)實(shí)現(xiàn):
???????它們不需經(jīng)過(guò)格式化,用起來(lái)靈活,其大小隨所需要的空間而增加或減少。
?????? Ramfs顧名思義是內(nèi)存文件系統(tǒng),它它處于虛擬文件系統(tǒng)(VFS)層,而不像ramdisk那樣基于虛擬在內(nèi)存中的其他文件系統(tǒng)(ex2fs)。
?????? 因而,它無(wú)需格式化,可以創(chuàng)建多個(gè),只要內(nèi)存足夠,在創(chuàng)建時(shí)可以指定其最大能使用的內(nèi)存大小。
???????如果你的Linux已經(jīng)將Ramfs編譯進(jìn)內(nèi)核,你就可以很容易地使用Ramfs了。創(chuàng)建一個(gè)目錄,加載Ramfs到該目錄即可:
????????????????? # mkdir? /testRam?
??????????????????# mount -t ramfs none /testRAM
?????? 缺省情況下,Ramfs被限制最多可使用內(nèi)存大小的一半。可以通過(guò)maxsize(以kbyte為單位)選項(xiàng)來(lái)改變。?
??????????????????# mount -t ramfs none /testRAM -o maxsize=2000 (創(chuàng)建了一個(gè)限定最大使用內(nèi)存為2M的ramdisk)
?????? Tmpfs是一個(gè)虛擬內(nèi)存文件系統(tǒng),它不同于傳統(tǒng)的用塊設(shè)備形式來(lái)實(shí)現(xiàn)的Ramdisk,也不同于針對(duì)物理內(nèi)存的Ramfs。
?????? Tmpfs可以使用物理內(nèi)存,也可以使用交換分區(qū)。在Linux內(nèi)核中,虛擬內(nèi)存資源由物理內(nèi)存(RAM)和交換分區(qū)組成,這些資源是由內(nèi)核中的虛擬內(nèi)存子系統(tǒng)來(lái)負(fù)責(zé)分配和管理。
?????? Tmpfs向虛擬內(nèi)存子系統(tǒng)請(qǐng)求頁(yè)來(lái)存儲(chǔ)文件,它同Linux的其它請(qǐng)求頁(yè)的部分一樣,不知道分配給自己的頁(yè)是在內(nèi)存中還是在交換分區(qū)中。同Ramfs一樣,其大小也不是固定的,而是隨著所需要的空間而動(dòng)態(tài)的增減。
?????? 使用tmpfs,首先你編譯內(nèi)核時(shí)得選擇"虛擬內(nèi)存文件系統(tǒng)支持(Virtual memory filesystem support)" 。
?????? 然后就可以加載tmpfs文件系統(tǒng)了:
??????????? # mkdir -p /mnt/tmpfs
?????????? ?# mount tmpfs /mnt/tmpfs -t tmpfs?
?????? 同樣可以在加載時(shí)指定tmpfs文件系統(tǒng)大小的最大限制:
?????????? # mount tmpfs /mnt/tmpfs -t tmpfs -o size=32m
【參考】: Linux性能調(diào)協(xié) http://www-900.ibm.com/developerWorks/cn/linux/management/tune/index.shtml
總結(jié)
以上是生活随笔為你收集整理的使用内存文件系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。