文件缓存tmpfs简单使用

文件缓存tmpfs
基于内存的文件系统,直接使用ram(物理内存)+swap(交换分区)

tmpfs缓存文件系统
/dev/shm共享内存
动态的使用虚拟内存,文件删除后释放内存

特性:
1.动态空间使用和动态变化
2.速度
3.没有持久性(重启失效)

主要应用场景:
1.缓存 squid nginx
2.php session /tmp
3.存放socket
4.自定义缓存

1.将文件拷贝到/dev/shm目录中,发现/dev/shm使用率变化了

复制代码
[root@node1 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 30G 3.9G 27G 13% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.8M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 297M 122M 176M 41% /boot
/dev/mapper/centos-data xfs 40G 224M 40G 1% /data
tmpfs tmpfs 183M 0 183M 0% /run/user/0

[root@node1 ~]# cp jdk-8u131-linux-x64.gz /dev/shm
[root@node1 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 30G 3.9G 27G 13% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 177M 735M 20% /dev/shm
tmpfs tmpfs 912M 8.8M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 297M 122M 176M 41% /boot
/dev/mapper/centos-data xfs 40G 224M 40G 1% /data
tmpfs tmpfs 183M 0 183M 0% /run/user/0

[root@node1 ~]# free -m
total used free shared buff/cache available
Mem: 1823 640 72 185 1110 768
Swap: 4095 0 4095
复制代码

2.删除后发现内存也变了

[root@node1 ~]# rm -f /dev/shm/jdk-8u131-linux-x64.gz 
[root@node1 ~]# free -m
total used free shared buff/cache available
Mem: 1823 641 248 8 933 945
Swap: 4095 0 4095

创建文件,并划分为tmpfs文件系统

复制代码
[root@node1 ~]# mkdir /mnt/data
[root@node1 ~]# mount
mount mount.fuse mountpoint 
[root@node1 ~]# mount -t tmpfs tepfs /mnt/data/
[root@node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 30G 3.9G 27G 13% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.8M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 297M 122M 176M 41% /boot
/dev/mapper/centos-data 40G 224M 40G 1% /data
tmpfs 183M 0 183M 0% /run/user/0
tepfs 912M 0 912M 0% /mnt/data
复制代码

3.指定tmpfs文件系统大小为50M

复制代码
[root@node1 ~]# mkdir /mnt/data1
[root@node1 ~]# mount -t tmpfs -o size=50m tmpfs /mnt/data1
[root@node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 30G 3.9G 27G 13% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.8M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 297M 122M 176M 41% /boot
/dev/mapper/centos-data 40G 224M 40G 1% /data
tmpfs 183M 0 183M 0% /run/user/0
tepfs 912M 0 912M 0% /mnt/data
tmpfs 50M 0 50M 0% /mnt/data1
复制代码

4.重新设置tmpfs文件系统大小为100M

复制代码
[root@node1 ~]# mount -o remount,size=100m /mnt/data
[root@node1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 30G 3.9G 27G 13% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.8M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 297M 122M 176M 41% /boot
/dev/mapper/centos-data 40G 224M 40G 1% /data
tmpfs 183M 0 183M 0% /run/user/0
tepfs 100M 0 100M 0% /mnt/data
tmpfs 50M 0 50M 0% /mnt/data1
复制代码

5.如果希望重启后还生效,需要写入/etc/fstab,否则可能系统无法正常启动
tempfs /mnt/data tmpfs size=50M 0 0

posted @   reblue520  阅读(2563)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示