1. 挂载内存为虚拟硬盘

tmpfs,临时文件系统,是一种基于内存的文件系统。我们可以通过这种方式来将内存用于存储文件。

由于文件实质上还是保存在内存中的,如果断电的话文件就会丢失,非常不建议用来保存重要文件。 那么他就完全没有用武之地了么?内存的读写速度相较于硬盘,他们的差别是超出一个数量级的, 因此我们可以利用它高速的优点来搞点事情。具体搞什么事情,就要大家脑洞大开了。

1.1. 挂载

1
2
3
4
5
6
7
8
#挂载虚拟硬盘 默认大小是总内存的一半
mount -t tmpfs tmpfs /mnt/tmpfs

#指定挂载大小为500M
mount -t tmpfs -o size=500m tmpfs /mnt/tmpfs

#取消挂载
umount /mnt/tmpfs
tmpfs

1.2. 搞事情

1.2.1. 文件传输测试

在折腾samba时,我发现文件传输速度总是很低,我这可是千兆网啊,怎么速度跟百兆差不多。 根据木桶效应,我们分析整理一下短板在哪里。

首先是网络,是真千兆么,不会链路有什么问题吧。用iperf3测试一下,没有问题。

netspeed

是PC硬盘太垃圾了?复制个文件看看,好像问题也不大,相对来说瓶颈在网络了。

hardspeed

接下来把tmpfs和sda1同时挂载到samba,传输同一个文件进行测试。

首先是sda1的读写测试,这是一个SD卡。

sda1write sda1read

读取速度还行,写入速度就有点稀烂了。

接下来看看tmpfs的读写测试,这是用内存虚拟的存储。

tmpfswrite tmpfsread

这结果有点摸不着头脑,写入速度把带宽跑满了,写入时存储已经不是瓶颈了,但是这读取速度什么情况? 怎么和SD卡的读取速度差不多???

1.2.2. 未完待续…