Linux下创建RAM Disk

Linux下创建RAM Disk,第1张

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

在CentOS 5.X / RHEL 5.X中,可以用mkinitrd命令来创建初始化内存盘文件,举例如下:

# mkinitrd -f -v /boot/initrd-$(uname -r).img $(uname -r)

如果你想要给特定的内核版本创建初始化内存盘,你就用所需的内核名替换掉 uname -r。

在CentOS 6.X / RHEL 6.X中,则用dracut命令来创建初始化内存盘文件,举例如下:

# dracut -f

以上命令能给当前的系统版本创建初始化内存盘,给特定的内核版本重建初始化内存盘文件则使用以下命令:

# dracut -f initramfs-2.x.xx-xx.el6.x86_64.img 2.x.xx-xx.el6.x86_64

请参考《Linux就该这么学》入门书籍。

1、boot分区

在Linux中,boot是存储内核及在引导过程中使用文件的分区,是启动Linux时使用的一些核心文件在boot中包括了系统kernel的配置文件、启动管理程序GRUB的目录、启动时的模块供应的主要来源Initrd文件和vmlinuz文件。

/boot分区就是 *** 作系统的内核及在引导过程中使用的文件,一般是几年前的版本要求划分的一个区,大小为100MB左右,但现在的新版本都不需要对这个分区进行单独划分,也就是说你完全可以不分/boot。

安装Linux只要求两个基本分区,即根分区及交换分区,如果你的磁盘空间足够大,可以多划分空间给根分区,你也可以把常用的目录新建到桌面,如下载的软件包,放到桌面不影响你进入Linux系统的速度,当然这要求你有足够大的根分区。

2、swap分区

swap就是Linux下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用。

它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。

需要注意的是,虽然这个swap分区能够作为虚拟的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是极大物理内存。SWAP分区只是临时的解决办法。

交换分区的合理值一般在内存的2倍左右?一种流行的说法是,安装Linux系统时,交换分区swap的大小应该是内存的两倍。也就是说,如果内存是2G,那么就应该分出4G的硬盘空间作为交换空间。其实这是严重的浪费。真实的情况是:可以根据你系统内存的大小,以及所使用的程序,自行决定交换分区的大小,甚至可以完全不用交换分区。

3、根分区

所谓根分区,说白了就是系统分区,是root分区,所有的东西都放在这里面。

Linux是一个树形文件系统,根分区就是它的root节点,任何的目录文件都会挂在根节点以下。Linux只有一个根。你可以给你的硬盘进行分区,但是,分区设备一定挂载到Linux根目录下的指定位置,如/usr、/var、/home等。如果要对分区进行 *** 作的话,只能到分区所挂载的目录中进行 *** 作。所以,不管对硬盘分多少个区,都要将这些分区挂载到根目录底下才可以使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7347977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存