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、安装编译工具:

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake elfutils-libelf-devel openssl-devel

2、下载内核源码,并解压,进入源码安装包,推荐下载地址https://www.kernel.org/

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

3.清理内核源码目录:

make mrproper

注:make mrproper命令会删除所有的编译生成文件、内核配置文件(.config文件)和各种备份文件,所以几乎只在第一次执行内核编译前才用这条命令。

4.使用make menuconfig菜单来订制内核功能 :

make menuconfig

注:make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)
出现以下配置界面:
这里写图片描述
依次选择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编译,时间会稍有点长~~:

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 安装内核相关文件:

make install

8、安装完成后修改默认内核启动项:

cat /boot/grub2/grub.cfg | grep menuentry //查看系统可用内核
grub2-set-defaultCentOS Linux (4.12.3) 7 (Core)’ //修改开机默认使用的内核

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.2内核编译安装
linux中RamDisk的三种实现方式
轻轻松松为你的Linux系统创建RAM Disk
正确用DD测试磁盘读写速度
感谢以上博客作者的付出与总结!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值