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

基于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

分享到:
评论

相关推荐

    Tmpfs on Linux

    在Linux系统中,`tmpfs`是一种基于内存的文件系统,它不依赖于传统的非易失性存储介质来存储文件数据,而是完全存在于由操作系统内核维护的虚拟内存中。`tmpfs`的设计初衷是为了提高性能,使临时文件能够快速创建、...

    linux的home目录下内存转移至根目录.docx

    Linux 的 Home 目录下内存转移至根目录 Linux 系统中,Home 目录是用户的个人文件夹,用于存储个人文件和配置信息。在 Linux 系统中,Home 目录通常位于 /home 目录下,但随着时间的推移,Home 目录可能会变得...

    file-mmu.rar_ramfs

    ramfs是一种轻量级的内存文件系统,专为Linux内核设计。它的全称是“Resizing Memory-based File System”,正如其名,它利用系统的物理内存来存储文件和目录,而不是像传统文件系统那样在磁盘上进行读写操作。由于...

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

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

    基于Linux的内存式WebGIS设计与实现.pdf

    《基于Linux的内存式WebGIS设计与实现》这篇论文主要探讨了如何利用Linux操作系统,特别是内存管理特性,来优化WebGIS(Web地理信息系统)的性能,以解决传统WebGIS因磁盘I/O瓶颈导致的响应速度慢的问题。...

    Linux下tmpfs介绍与使用

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

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

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

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

    在Linux中,除了tmpfs之外,还有一种名为RAM Disk的技术,它同样将数据存储在内存中。不过,二者之间存在一些关键性的差异: - **RAM Disk**需要被视为块设备,并且在使用前需要通过`mkfs`命令进行格式化。相比之下...

    linux下把网站放到内存里面 给网站提速.docx

    tmpfs是一种基于内存的文件系统,它允许我们将部分网站内容存储在内存中,从而显著加快读取速度,因为内存的访问速度远高于硬盘。本文将详细介绍如何在Linux下将网站放入内存中以提升其性能,并探讨相关的注意事项。...

    基于zynq的Linux根文件系统生成

    总之,构建基于ZYNQ的Linux根文件系统是一个涉及多个步骤的过程,包括选择合适的组件(如BusyBox和Dropbear)、配置编译、复制库文件以及创建必要的系统目录和配置文件。这不仅需要对Linux系统结构有深入理解,还...

    基于CF卡的嵌入式Linux系统的裁剪.pdf

    在基于CF卡(Compact Flash Card)的嵌入式系统中,这一过程显得尤为重要,因为嵌入式设备通常资源有限,如内存、CPU性能和存储空间等。通过裁剪,可以减小Linux系统的体积,降低运行时的内存和CPU开销,提高系统的...

    linux下根文件系统的制作

    嵌入式Linux系统支持多种类型的文件系统,常见的有jffs2、yaffs、cramfs、tmpfs、ramfs、romfs、ext2/3/4等。其中,cramfs是一种压缩文件系统,特别适合于存储空间有限的场景,因为它能有效节省内存空间,同时提供...

    Professional Linux Kernel Architecture

    本章将介绍Linux内核中几种不依赖于磁盘存储的文件系统类型,如tmpfs、ramfs等,并讨论它们的应用场景和技术优势。 #### 十一、扩展属性和访问控制列表(第11章) 为了增强文件的安全性和功能性,Linux内核支持在...

    嵌入式linux文件系统各种类型借鉴.pdf

    ramdisk、ramfs和tmpfs是基于RAM的文件系统,它们在系统运行时创建并存储在内存中。ramdisk是预先分配固定大小的内存空间,ramfs和tmpfs则按需动态扩展。ramfs和tmpfs的主要区别在于tmpfs在断电后不会保留数据,而...

    linux architecture

    - **临时文件系统**:介绍了一类特殊的文件系统(如tmpfs和ramfs),它们在内存中存储数据而不在磁盘上持久化。 - **应用场景**:探讨了这些文件系统在提高系统性能和响应速度方面的优势。 #### 十一、扩展属性与...

    VFS and filesystems in Linux

    - **特殊用途文件系统**:如tmpfs(临时文件系统)、ramfs(RAM文件系统)、rootfs(根文件系统),它们具有特定的功能或存储位置。 ### VFS架构概览 VFS的架构设计精细而复杂,主要包括以下几个方面: - **通用...

Global site tag (gtag.js) - Google Analytics