我需要制作一个ramfs,并使用c++将其挂载到linux中的一个目录。我想让它像一个用户(没有sudo
)。
我需要在我创建的文件上调用一个应用程序,这将是经常的。将其写入HDD的速度非常慢。
我发现:
system("mkdir /mnt/ram");
system("mount -t ramfs -o size=20m ramfs /mnt/ram");
但这并不好。我想成为一个普通用户,并且命令mount
可以作为root调用。我能做什么?
对于用户空间ramfs解决方案,可以使用python fuse ramfs。
我检查/tmp
是否是ramfs,但它不是。它在硬盘上创建文件。但当我运行df -h
时,它输出:
rootfs 25G 9,4G 15G 40% /
devtmpfs 1,9G 0 1,9G 0% /dev
tmpfs 1,9G 1,6G 347M 83% /dev/shm
tmpfs 1,9G 1,3M 1,9G 1% /run
/dev/mapper/vg_micro-root 25G 9,4G 15G 40% /
tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup
tmpfs 1,9G 0 1,9G 0% /media
/dev/mapper/vg_micro-stack 289G 191M 274G 1% /stack
/dev/mapper/vg_micro-home 322G 40G 266G 14% /home
/dev/sda2 485M 89M 371M 20% /boot
/dev/sda1 200M 19M 182M 10% /boot/efi
这意味着tmpfs
(ramdisks)是:/dev/shm
、/run
、/sys/fs/cgroup
和/media
。但其中只有一个是临时ramdisk,用于进程之间的通信,使用文件。以下是/dev/shm
的描述和用法。唯一的问题是tmpfs
不会动态增长,但就我的目的而言,它已经足够了(20MB-1GB)。