mount修改/dev/shm的大小

1、关于 /dev/shm 目录
  • 目录路径
    /dev/shm 目录位于 linux 系统的内存中,而不在磁盘里,所以它的效率非常高,其上级目录 /dev 主要是一些设备管理文件,例如磁盘、内存等。
  • 容量大小
    linux系统中,默认加载 /dev/shm 容量的大小是内存的一半,命令 df -h 可查看其大小,命令free -m可查看内存大小。例如内存约 1800M 的话,则 /dev/shm 大小约为 900M。但是呢,它并不会真正去占用这块内存资源,如果/dev/shm/下没有任何文件,那它占用的内存实际上就是0字节,如果/dev/shm目录下有200M的文件,那么剩下的700M内存资源可以继续給其他程序使用。
    在这里插入图片描述
2、 关于 tmpfs
tmps定义
  • tmpfs ,临时文件系统,是一种基于内存的文件系统;
  • 它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储,而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;
  • tmpfs是一个文件系统,并不是块设备,只是安装它,就可以通过mount命令来使用;
  • tmpfs是最好的基于RAM的文件系统,默认情况下,tmpfs会mount到/dev/shm目录。
tmps优势
  • 动态文件系统的大小,tmpfs 文件系统驱动程序会动态地增加或者减小文件系统并释放 VM 资源;
  • 拥有闪电般的速度,典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的;
  • tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。
3、修改/dev/shm大小

当默认的大小不够使用,而其他程序占用的内存又比较少的时候,可以通过重新挂载来修改其大小

  • 通过 mount 修改,重启后失效
# 普通快速修改
# mount -o size=1216M  -o  remount  /dev/shm
# 将inode数量调到1000000,那么预计最多可存入一百万个小文件
# mount -o size=1216M  -o nr_inodes=1000000 -o noatime,nodiratime  -o  remount  /dev/shm

在这里插入图片描述

  • 通过/etc/fstab修改,永久生效
# 修改 tmpfs size 
# echo 'tmpfs                /dev/shm             tmpfs   defaults,size=1.2G        0 0' >>  /etc/fstab

在这里插入图片描述

# 修改后,重新挂载生效
# mount -o remount /dev/shm
4、文件占用内存测试
  • 查看原有内存占用
# 可以看到share目录为0,buff/cache 缓存了366M文件在内存中
# free  -m

在这里插入图片描述

  • 通过 dd 创建一个1024M的文件
# 可以看到share目录下多了1024M,buff/cache 也多了1G,可用内存减少了1G
# dd if=/dev/zero of=/dev/shm/test.random  bs=1M count=1024

在这里插入图片描述

5、文件传输速度对比

写两个小脚本传输文件,通过计算时间差来对比传输速度

[root@VM_0_14_centos mnt]# du -sh /mnt/test.random 
1.1G	/mnt/test.random
[root@VM_0_14_centos mnt]# cat test_shm.sh 
#!/bin/sh

echo `date +%F%t%T`

cp /mnt/test.random  /dev/shm/

echo `date +%F%t%T
[root@VM_0_14_centos mnt]# cat test_tmp.sh 
#!/bin/sh

echo `date +%F%t%T`

cp /mnt/test.random  /tmp/

echo `date +%F%t%T`
[root@VM_0_14_centos mnt]# chmod +x test_shm.sh 
[root@VM_0_14_centos mnt]# chmod +x test_tmp.sh 
# 可以看到传输速度相对快一些
[root@VM_0_14_centos mnt]# ./test_shm.sh 
2019-09-06 01:25:20
2019-09-06 01:25:26
[root@VM_0_14_centos mnt]# ./test_tmp.sh 
2019-09-06 01:25:33
2019-09-06 01:25:43
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值