`
san_yun
  • 浏览: 2594504 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

基于tmpfs或ramfs把linux把目录映射为内存

 
阅读更多

在linux系统中,我们可以通过挂载tmpfs或ramfs文件系统实现对内存的访问使用。
对于一些关键业务来说,可以考虑将主要的读写进程通过Tmpfs或Ramfs文件系统放入内存中执行。

1.挂载

tmpfs

mkdir  ~/tmp
sudo mount -t tmpfs -o size=1024m tmpfs ~/tmp

rams

mkdir -p  ~/tmp
sudo mount -t ramfs -o size=1024m ramfs ~/tmp

 

 2. 查看挂载情况

yunpeng@yunpeng-duitang:~$ df -h
文件系统            容量  已用  可用 已用%% 挂载点
/dev/sda1             111G   38G   67G  36% /
udev                  2.9G  4.0K  2.9G   1% /dev
tmpfs                 1.2G  908K  1.2G   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  2.9G  3.7M  2.9G   1% /run/shm
/dev/sda5              92G   76G   12G  87% /duitang
/dev/sda6              83G   34G   45G  44% /work
tmpfs                 1.0G  1.0G     0 100% /home/yunpeng/tmp

 3. 测试写入速度

yunpeng@yunpeng-duitang:~$ dd if=/dev/zero of=/home/yunpeng/tmp/test2 bs=1M count=400 
记录了400+0 的读入
记录了400+0 的写出
419430400字节(419 MB)已复制,0.282811 秒,1.5 GB/秒

 4.查看挂载结果

yunpeng@yunpeng-duitang:~$ mount -l
/dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda5 on /duitang type ext4 (rw,commit=0)
/dev/sda6 on /work type ext4 (rw,commit=0)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/yunpeng/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=yunpeng)
tmpfs on /home/yunpeng/tmp type tmpfs (rw,size=1024m)

通过以上输出最后一行,可以查看当前挂载/mnt/ram的相关情况

通过配置/etc/fstab文件,可以实现开机挂载tmpfs或ramfs文件系统分区

 

5.ramfs和tmpfs的区别

  • ramfs可以动态进行容量扩展,只要不大于系统内的可用物理内存大小即可。

  • tmpfs无法进行动态扩展,只能使用挂载时指定的分区大小。

  • tmpfs使用swap或物理内存作为存储空间。

  • ramfs不能使用swap空间,只能使用物理内存空间。

6.一些注意点

tmpfs不具备持久性,重启后数据不保留,请务必注意!!!
/dev/shm/是一个设备文件,它使用就是tmpfs文件系统(注意:在Centos和Redhat下,/dev/shm目录是一个链接,指向/run/shm目录,在Ubuntu系统下tmpfs文件系统对应的是/run/shm目录,可以使用df命令查看),因为 /dev/shm/这个目录不在硬盘上,而是在内存里,它就所谓的tmpfs。在Redhat/CentOS等linux发行版中默认大小为物理内存的一半。

 

参考:

http://www.weittor.com/overview-of-ramfs-and-tmpfs-on-linux-cn.html

http://blog.csdn.net/chen3888015/article/details/7515706

http://luobeng.blogbus.com/logs/128410724.html

分享到:
评论

相关推荐

    Linux下tmpfs介绍与使用

     tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储 暂存的文件。  优势 :  1、 动态文件系统的大小。  2、tmpfs 的另一个主要的好处...

    详解Linux系统中的tempfs与/dev/shm

    tmpfs 是 Linux/Unix 系统上的一种基于内存的文件系统,即 tmpfs 使用内存或 swap 分区来存储文件。 Linux 内核中的 VM 子系统负责在后台管理虚拟内存资源 Virtual Memory,即 RAM 和 swap 资源,透明地将 RAM 页...

    Tmpfs on Linux

    A memory filesystem on Linux.

    学会使用tmpfs文件系统来提速你的linux系统.docx

    学会使用tmpfs文件系统来提速你的linux系统.docx

    Linux命令查看java版本

    linux下命令和文件及目录名都分大小写 //移动文件 mv .*.swp 123.bak //看性能 top //shift键+"m"是按"memory"排序 //查看环境变量 env //浏览文件和目录 ls//列表; ll//详细列表 //查看当前目录 pwd //创建...

    Linux下如何调整根目录的空间大小

    在使用CentOS6.3版本Linux系统的时候,发现根目录(/)的空间不是很充足,而其他目录空间有很大的空闲,所以本文主要是针对现在已有的空间进行调整。首先,先来查看一下系统的空间分配情况: [root@CentOS-78 /]# df ...

    使用Python设置tmpfs来加速项目的教程

    但优点也是缺点,tmpfs 只把结果保存在内存中,所以你必须自己编写脚本来把结果回写到磁盘上进行保留。而且这些脚本必须良好书写和执行,否则就要失去部分或全部的工作成果了。 一种常见的方法是直接在tmpfs文件夹中...

    Docker数据存储之tmpfs mounts详解

    阅读本文前,希望你已经对...如果你使用linux运行Docker,那么避免写入数据到容器存储层还有一个方案:tmpfs mounts。 tmpfs mounts,顾名思义,是一种非持久化的数据存储。它仅仅将数据保存在宿主机的内存中,一旦

    tmpfs-syncer:尽量减少对磁盘的写操作

    tmpfs-sync:将磁盘上的写操作... 将磁盘目录重命名为其原始名称。 检测 tmpfs 副本。 为了将由于操作系统崩溃而导致数据丢失的风险降至最低,可以(应该?)定期执行上述同步步骤。 要求 , , 目前, tmpfs-syn

    Tiny Core Linux VMware 硬盘安装

    2.关机后,查 TinycoreLinux 目录 大小40.2MB 3.df Filesystem Size Used Available Use% Mounted on rootfs 450.6M 11.4M 439.3M 3% / tmpfs 250.3M 0 250.3M 0% /dev/shm /dev/sda1 7.7G 50.8M 7.7G 1% /mnt/...

    Linux磁盘扩容 fdisk /dev/vda

    Linux磁盘扩容 df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 197G 2.3G 195G 2% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 8.5M 7.8G 1% /run tmpfs...

    booty:使用tmpfs和SquashFS + Overlay FS通过网络(PXE),CD-ROM(ISO)或USB记忆棒启动到GNULinux

    booty是复杂的脚本,用于创建可引导的GNU / Linux映像。 快速开始 # make install # booty build DIRECTORY/ # qemu-system-x86_64 -cdrom BOOT-x86_64.ISO 界面 战利品 战利品Linux 战利品ramdisk 战利品形象 战...

    ramdiskcreator:一个基于UbuntuLinux发行版的简单RAM磁盘创建器

    一个简单的RAM磁盘创建器,用于基于UbuntuLinux发行版。 这是一个简单的设置向导,它是基于Python的,非常简单。 安装 安装过程非常简单。 您只需要下载文件并保存。 您打开终端并导航到脚本的位置。 然后,您需要...

    Centos7利用内存优化磁盘缓存读写速度的方法

    Linux中的/dev/shm目录不属于磁盘,而是内存,如果使用/dev/shm/目录作为Linux中的磁盘文件读写缓存,可想效率是非常惊人的。 默认/dev/shm目录没有挂载,需要手动进行挂载。 在以下文件尾端添加以下内容: $ vim /...

    使用内存文件系统后系统内存统计方法

     在Linux系统中,内存可以分出一部分空间作为磁盘来使用,称为Ramdisk。这部分内存空间具有高速读写特性,可以存储那些对磁盘IO要求较高的数据,显著的提升系统的服务性能。  Ramdisk分为两种,一种是固定空间...

    嵌入式Linux 中多文件系统的构建

    介绍在嵌入式Linux 环境中搭建文件系统的一些方法, 主要讲述在基于Flash 存储器的系统中如 何合理使用Cramfs、JFFS2 和Tmpfs 等文件系统,以便有效地使用嵌入式系统中有限的存储空间。 本文介绍的一些方法在笔者的...

    保障Linux的临时文件安全

    在一个典型的Linux系统中,至少有两个目录或分区保持着临时文件。其中之一是/tmp目录,再者是/var/tmp。在更新的Linux内核的系统中,还可能有/dev/shm,它是用tmpfs文件系统装载的。 存储临时文件的目录存在着一个...

Global site tag (gtag.js) - Google Analytics