使用内存文件系统 就是图它特别快
操作演示
3种创建内存文件系统的方式
tmpfs 使用操作比较友好
ramfs 比较快,但危险
格式化内存 步骤稍微繁琐
创建几个文件夹用来演示挂载
1
|
mkdir /mnt/m01 /mnt/m02 /mnt/m03
|
方案1-格式化内存
linux系统 目前有16个ram块
1
2
3
|
root@sharezx:/mnt# ls /dev/ram*
/dev/ram0 /dev/ram10 /dev/ram12 /dev/ram14 /dev/ram2 /dev/ram4 /dev/ram6 /dev/ram8
/dev/ram1 /dev/ram11 /dev/ram13 /dev/ram15 /dev/ram3 /dev/ram5 /dev/ram7 /dev/ram9
|
使用一个当临时下载目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
root@sharezx:/mnt# mke2fs /dev/ram0
mke2fs 1.42.6 (21-Sep-2012)
Filesystem label=1.42.6-24922
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
40960 inodes, 163840 blocks
8192 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=167772160
5 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
root@sharezx:/mnt# mount /dev/ram0 /mnt/m01/
root@sharezx:/mnt# df -h /dev/ram0
Filesystem Size Used Avail Use% Mounted on
/dev/ram0 630M 476K 598M 1% /mnt/my500mfs
|
此处的一个ram可以空间为600M
测试写入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
root@sharezx:/mnt/m01# dd if=/dev/zero of=bf01 bs=4M count=100
100+0 records in
100+0 records out
419430400 bytes (419 MB) copied, 0.611773 s, 686 MB/s
root@sharezx:/mnt/m01# dd if=/dev/zero of=bf02 bs=4M count=100
dd: error writing ‘bf02’: No space left on device
58+0 records in
57+0 records out
239964160 bytes (240 MB) copied, 0.353483 s, 679 MB/s
root@sharezx:/mnt/m01# ll -h
total 630M
drwxr-xr-x 2 root root 4.0K Nov 29 23:12 .
drwxr-xr-x 6 root root 4.0K Nov 29 23:05 ..
-rw-r--r-- 1 root root 400M Nov 29 23:12 bf01
-rw-r--r-- 1 root root 229M Nov 29 23:12 bf02
|
写入的两个文件共629M
整理后脚本
1
2
3
4
5
6
7
8
9
|
ls /dev/ram*
mke2fs /dev/ram0
df -h /dev/ram0
mount /dev/ram0 /mnt/m01/
dd if=/dev/zero of=bf01 bs=4M count=100
dd if=/dev/zero of=bf02 bs=4M count=100
umount /mnt/m01/
|
方案2-ramfs
ramfs 不会占用虚拟内存 完全使用物理内存 但无法限制最大使用空间 容易出事故
测试写入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
root@sharezx:/mnt# mount -t ramfs ramfs /mnt/m02
root@sharezx:/mnt# dd if=/dev/zero of=/mnt/m02/bf01 bs=4M count=100
100+0 records in
100+0 records out
419430400 bytes (419 MB) copied, 0.34215 s, 1.2 GB/s
root@sharezx:/mnt# dd if=/dev/zero of=/mnt/m02/bf02 bs=4M count=100
100+0 records in
100+0 records out
419430400 bytes (419 MB) copied, 0.345581 s, 1.2 GB/s
root@sharezx:/mnt# ll -h /mnt/m02
total 801M
drwxr-xr-x 2 root root 0 Nov 29 23:18 .
drwxr-xr-x 7 root root 4.0K Nov 29 23:17 ..
-rw-r--r-- 1 root root 400M Nov 29 23:17 bf01
-rw-r--r-- 1 root root 400M Nov 29 23:18 bf02
|
写入速度显示为1.2G每秒 两个文件共800M
由于没法限制大小,使用不当则内存会耗尽
因此存在导致系统挂断的风险
整理后脚本
限制大小的参数加了也不会有效果
1
2
3
4
5
|
mount -t ramfs ramfs /mnt/m02
dd if=/dev/zero of=/mnt/m02/bf01 bs=4M count=100
dd if=/dev/zero of=/mnt/m02/bf02 bs=4M count=100
ll -h /mnt/m02
umount /mnt/m02
|
方案3-tmpfs
tmpfs 可以限制大小 使用的内存是物理内存+虚拟内存 具体使用由系统调度
刚创建的时候不会耗内存,随着写入文件 会增大占用的内存
测试
向内存文件系统中写入1g文件, 写入速度为900M每秒
超过 1200M的限制就停了
1
2
3
4
5
6
7
8
9
10
11
12
13
|
root@sharezx:/mnt# mount -t tmpfs -o size=1200M tmpfs /mnt/m03
root@sharezx:/mnt# cd m03/
root@sharezx:/mnt/m03# dd if=/dev/zero of=bf01 bs=4M count=256
256+0 records in
256+0 records out
1073741824 bytes (1.1 GB) copied, 1.43094 s, 750 MB/s
root@sharezx:/mnt/m03# dd if=/dev/zero of=bf02 bs=4M count=256
dd: error writing ‘bf02’: No space left on device
45+0 records in
44+0 records out
184549376 bytes (185 MB) copied, 0.183267 s, 1.0 GB/s
root@sharezx:/mnt/m03# cd ..
root@sharezx:/mnt# umount m03
|
向机械硬盘中写入1g文件, 写入速度为140M每秒
1
2
3
4
5
|
root@sharezx:/mnt# dd if=/dev/zero of=/volume1/video/bf001 bs=4M count=256
256+0 records in
256+0 records out
1073741824 bytes (1.1 GB) copied, 7.61542 s, 141 MB/s
root@sharezx:/mnt# rm /volume1/video/bf001
|
整理后脚本
1
2
3
4
5
6
7
|
mount -t tmpfs -o size=1200M tmpfs /mnt/m03
dd if=/dev/zero of=bf01 bs=4M count=256
dd if=/dev/zero of=bf02 bs=4M count=256
umount m03
dd if=/dev/zero of=/volume1/video/bf001 bs=4M count=256
rm /volume1/video/bf001
|
文章作者
duansheli
上次更新
2019-12-25
(325c7b3)