天天看點

CentOS7配置使用Ramdisk

什麼是Ram Disk?Ram Disk就是将記憶體(Ram)的一部分當做硬碟(Disk)來使用。Ram Disk有固定的大小,可以像正常硬碟分區那樣去使用。 就操作時間來講,Ram Disk比真實的實體硬碟快很多,當系統關閉或斷電時,儲存在Ram Disk中的資料會全部丢失。Ram Disk可以成為一個存放臨時資料的好地方。

Ram Disk有三種實作方式:在Linux中可以将一部分記憶體mount為分區來使用,通常稱之為Ram Disk,分為:Ramdisk, ramfs, tmpfs。下面我們主要講解的是Ramdisk。

Ramdisk是傳統意義上的,可以格式化,然後加載。

這在Linux核心2.0/2.2就已經支援,其不足之處是大小固定,之後不能改變。為了能夠使用Ramdisk,我們在編譯核心時須将block device中的Ramdisk支援選上,它下面還有兩個選項,一個是設定Ramdisk的大小,預設是4096k;另一個是Ramdisk的建立數量。

下面進行編譯核心以支援Ramdisk:

1、安裝編譯工具:

2、下載下傳核心源碼,并解壓,進入源碼安裝包,推薦下載下傳位址https://www.kernel.org/

cd /usr/src && wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-.tar.xz && tar -xvf linux-.tar.xz && cd linux-
           

3.清理核心源碼目錄:

make mrproper
           

注:make mrproper指令會删除所有的編譯生成檔案、核心配置檔案(.config檔案)和各種備份檔案,是以幾乎隻在第一次執行核心編譯前才用這條指令。

4.使用make menuconfig菜單來訂制核心功能 :

make menuconfig
           

注:make menuconfig(基于文本選單的配置界面,字元終端下推薦使用)

出現以下配置界面:

CentOS7配置使用Ramdisk

依次選擇Device Drivers –》 Block Drivers –》 RAM block device support,按大寫Y出現星号*表示選擇。

RAM block device support下有兩個選項,Default number of RAM disks為記憶體虛拟盤的數量, Default RAM disk size (kbytes)為每個記憶體虛拟盤的大小,我這裡設為1.6G左右。

!

然後儲存Sava,然後退出Exit。

5.執行make編譯,時間會稍有點長~~:

注:編譯時報錯“bc: command not found ”,yum -y install bc 一下就可以解決了,bc指令是一種支援任意精度的互動執行的電腦語言。bash内置了對整數四則運算的支援,但是并不支援浮點運算,而bc指令可以很友善的進行浮點運算,當然整數運算也不再話下。

報錯:/bin/sh: perl: command not found,yum install -y perl進行解決。

可以使用-j選項,j32表示開32個線程編。一個常用的規則是 make -jN,N=你機器CPU core的數量+2。

那單核的CPU應該是make -j3了

6.安裝子產品(安裝完畢後可以到/lib/modules目錄下檢視):

make modules_install
           

7、執行make install 安裝核心相關檔案:

8、安裝完成後修改預設核心啟動項:

8、重新開機電腦後uname -r檢視核心版本:

reboot
           

這時候,進入系統裡面,在/dev/下便可看到ram0等block塊裝置。

對Ramdisk的支援已經編譯進核心,我們就可以使用它了:首先檢視一下可用的RamDisk,使用ls /dev/ram*。首先建立一個目錄,比如test,運作mkdir /mnt/test;然後對/dev/ram0 建立檔案系統,運作mkfs -ext4 /dev/ram0;最後挂載 /dev/ram0,運作mount /dev/ram /mnt/test,就可以象對普通硬碟一樣對它進行操作了。裝載後寫入速度在700M/S-800M/S之間,如果umount再加載,隻要不重新開機linux,那檔案依然會儲存在/dev/ramX中。

測試:

Ramdisk盤讀寫速度:

CentOS7配置使用Ramdisk

普通硬碟讀寫速度:

CentOS7配置使用Ramdisk

參考網址:

CentOS7.2核心編譯安裝

linux中RamDisk的三種實作方式

輕輕松松為你的Linux系統建立RAM Disk

正确用DD測試磁盤讀寫速度

感謝以上部落格作者的付出與總結!

繼續閱讀