
内存盘对于保存加密数据来说很有用,因为我们如果将加密的文件解密到普通磁盘的话,即使我们随后删除了解密文件,数据仍然会留在磁盘上。这样是非常不安全的。而对于 RamDisk 来说,没有这样的问题。
假设有几个文件要频繁的使用,你如果将它们加到内存当中,程序运行速度会大副提高,因为内存的读写速度远高于硬盘。
像Web服务器,需要大量的读取和交换特定的文件的电脑,在Web服务器上建立RamDisk会大大提高网络读取速度。
注意:在2.6版本后,Ramdisk的这一作用开始被tmpfs(Virtual memory file system support)取代。
RAM Disk是基于内存的文件系统。通过创建RAM Disk利用空闲的内存来保存工作用的文件,可以得到性能的提升,有两种类型的RAM disk可选
ramfs在内存中创建了一个文件系统,使用和Linux文件系统的cache一样的机制及空间。 在linux下运行free命令可以看到当前内存的使用情况,
可以看到一共15G内存,其中3G是系统cache,这个空间会被linux用来缓存最近访问的文件,下次再访问的时候就不需要从磁盘读取了。ramfs使用相同的空间和机制,唯一不同的是,当内存的使用超出了系统设置的上限,ramfs文件不会被移出缓冲区。
ramfs文件系统不能和基于磁盘的文件系统一样来限制它的大小,ramfs会一直使用内存空间直到耗尽,这是它的一个缺陷;另一个问题是你没法儿通过 df 命令来获取ramfs的大小,只能通过 free 命令来估计。
tmpfs是一种更加先进的RAM文件系统,你可以设置大小限制,你也可以通过 df 命令来查看使用了多少空间
首先新建一个目录,用来挂载RAM Disk
用grep在dmesg的输出中找出RamDisk的大小,然后调整大小RamDisk的大小是被一个命令行选项控制的,这个选项会在系统启动时传给内核。由于RedHat9的默认bootloader是GRUB,我将用新的选项修改/etc/grub.conf,RamDisk大小的内核选项是:ramdisk_size=xxxxx ,xxxxx是指大小为1024-Byte的块的个数。下面要调整大小设置:/etc/grub.conf,将RamDisk配置为16MB:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda5
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-20.9)
root (hd0,0)
kernel /vmlinuz-2.4.20-20.9 ro root=LABEL=/ hdc=ide-scsi ramdisk_size=16000
initrd /initrd-2.4.20-20.9.img
将文件保存后,需要重启系统。重启后,通过查看dmesg的输出来确认修改已经生效:
dmesg | grep RAMDISK
将RamDisk格式化ram0::mke2fs -m 0 /dev/ram0
挂载RamDisk:mount /dev/ram0 /mnt/rd
查看挂载:mount | grep ram0
用tune2fs命令查看新RamDisk的详细信息
开机自动创建、挂载,在/etc/rc.local下创建如下脚本:
# Formats, mounts, and sets permissions on my 16MB ramdisk
/sbin/mke2fs -q -m 0 /dev/ram0
/bin/mount /dev/ram0 /mnt/rd
至此可以使用了,如果需要一睦其他用户或组访问,需要改相应权限就好
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)