時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(1)
一、什么是RamDisk
顧名思義,Ram:內(nèi)存,Disk:磁盤,RamDisk就是指使用你的一部分內(nèi)存空間來(lái)模擬出一個(gè)硬盤分區(qū)。不過這在硬盤越來(lái)越便宜的今天好象并不是很有用,但現(xiàn)在內(nèi)存也越來(lái)越便宜呀,對(duì)于一些我們想讓其訪問速度很高的情況下,還是可以試一試的。
二、創(chuàng)建一個(gè)RamDisk
其實(shí)創(chuàng)建一個(gè)RamDisk是一件很簡(jiǎn)單的事,由于RedHat Linux 6.0在默認(rèn)安裝下就支持了RamDisk,你只需要格式化一個(gè)RamDisk,并將其mount到某一個(gè)目錄上就可以了。
1、 查一下所有可用的ramdisk:
ls –al /dev/ram*
這就會(huì)列出你現(xiàn)在可用的ramdisk,這些ramdisk現(xiàn)在還不占用內(nèi)存,除非你對(duì)它進(jìn)行格式化。
2、 創(chuàng)建一個(gè)RamDisk:
mke2fs /dev/ram0
執(zhí)行該命令將出現(xiàn)以下提示
mke2fs 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09
Linux ext2 filesystem format
Filesystem label=
1024 inodes, 4096 blocks
204 blocks (4.98%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocerp營(yíng)銷總監(jiān)心得ks per group, 8192 fragments per group
1024 inodes per group
如果該操作執(zhí)行失敗,那么有可能是因?yàn)槟愕膬?nèi)核不支持ramdisk,這時(shí)你只有重新配置、編譯內(nèi)核。在配置時(shí)將CONFIG_BLK_DEV_RAM設(shè)置為Enable。
3、 將其mount上來(lái)使用:
mkdir /tmp/ramdisk0 新建一個(gè)目錄
mount /dev/ram0 /tmp/ramdisk0 將其mount到剛才新建的目錄上
這樣,我們就可以使用這個(gè)新建的RamDisk--/tmp/ramdisk0
另外,我們可以執(zhí)行df命令來(lái)查看一下該RamDisk的大小:
>df -k /dev/ram0
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/ram0 3963 13 3746 0% /tmp/ramdisk0
要注意的一點(diǎn)是:由于這個(gè)部分是內(nèi)存,因此在系統(tǒng)重新啟動(dòng)的時(shí)候,將刷新這個(gè)區(qū)域。所以不要將任何沒有拷貝的數(shù)據(jù)放在這個(gè)區(qū)域。如果你對(duì)這個(gè)目錄進(jìn)行了修改,并且需要保留這些修改,采取一些辦法進(jìn)行備份。也就是說,這個(gè)目錄只能用于為了提高訪問速度而暫時(shí)存儲(chǔ)數(shù)據(jù)的地方。
三、創(chuàng)建大小合適的RamDisk
上面我們創(chuàng)建了一個(gè)RamDisk,但是無(wú)法指定大小,現(xiàn)在我們來(lái)學(xué)習(xí)如何創(chuàng)建大小合適的RamDisk。
1、 使用LILO配置:
我們?cè)趌ilo.conf文件中加入一行:
ramdisk_size=10000 (如果是老版內(nèi)核,則寫ramdisk=10000)
然后運(yùn)行 /sbin/lilo 生成新的LILO。
這樣當(dāng)你重新啟動(dòng)計(jì)算機(jī)之后,ramdisk的默認(rèn)大小將會(huì)是10M。
2、使用/etc/conf.modules配置:
如果你的內(nèi)核是以模塊的形式編譯ramdisk的話,那么就可以在加載的時(shí)候決定ramdisk的大小。也就是可以通過修改/etc/conf.modules 的選項(xiàng)設(shè)置來(lái)做到,加入:
options rd rd_size=10000
當(dāng)然也可以在命令行中指定參數(shù)給ismod來(lái)實(shí)現(xiàn):
insmod rd rd_size=10000
當(dāng)使用以上兩種方法創(chuàng)建了合適大小的ramdisk時(shí),我們還需要執(zhí)行以下命令來(lái)使用它:
mke2fs /dev/ram0
mkdir /tmp/ramdisk0
mount /dev/ram0 /tmp/ramdisk0
而當(dāng)不使用時(shí),應(yīng)執(zhí)行:
umount /tmp/ramdisk0
若是使用insmod來(lái)加載模塊的,應(yīng)該再執(zhí)行:
rmmod rd
四、使用RamDisk的一個(gè)實(shí)例
下面,我們通過一個(gè)使用Ramdisk做WEB服務(wù)器的實(shí)例來(lái)說明其應(yīng)用。
1、 首先將WEB服務(wù)器移到另外一個(gè)地方
mv /home/httpd/ /home/httpd_real
mkdir /home/httpd
mkdir /home/httpd/cgi-bin
mkdir /home/httpd/html
mkdir /home/httpd/icons
2、 將以下命令加入到/etc/rc.d/init.d/httpd.init中去:
/sbin/mkfs -t ext2 /dev/ram0
/sbin/mkfs -t ext2 /dev/ram1
/sbin/mkfs -t ext2 /dev/ram2
mount /dev/ram0 /home/httpd/cgi-bin
mount /dev/ram1 /home/httpd/icons
mount /dev/ram2 /home/httpd/html
tar -C /home/httpd_real -c . | tar -C /home/httpd -x
這樣就可以了,但是請(qǐng)記住,你更新數(shù)據(jù)時(shí),應(yīng)更新httpd_real目錄,而不要更新httpd目錄,否則在系統(tǒng)重新啟動(dòng)時(shí),所有的更新都將丟失。你最好設(shè)置一個(gè)cro和空姐在一起的日子分集介紹n進(jìn)程,讓其監(jiān)視httpd_real是否有改變,一有改變就將其復(fù)制到ramdisk中去。
五、使用RamDisk做/tmp目錄
我還想推薦一個(gè)更酷的方法,如果你的內(nèi)存太多,那么可以將其中一部分做為/tmp目錄,這樣將大大提高你的系統(tǒng)執(zhí)行速度。而且,/tmp將會(huì)在系統(tǒng)重新啟動(dòng)時(shí)被刪除,多么愜意呀。
關(guān)鍵詞標(biāo)簽:Linux,RamDisk
相關(guān)閱讀
熱門文章
安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程
Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法
多種操作系統(tǒng)NTP客戶端配置
Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載