我需要使用制作ramfs并将其挂载到Linux中的一个目录。我想让它像用户一样使用(没有sudo)。
我需要在经常使用的文件上调用一个应用程序。将其写入硬盘非常慢。
我只找到了:
system("mkdir /mnt/ram");
system("mount -t ramfs -o size=20m ramfs /mnt/ram");
但这并不好。我想成为一个普通用户,而mount
命令只能作为root调用。我该怎么办?
我检查了/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
(ramdisk)是:/dev/shm
,/run
,/sys/fs/cgroup
和/media
。但只有其中一个被用作进程间通信的临时ramdisk,使用文件。这里是/dev/shm
的描述和用法。唯一的问题是tmpfs
不会动态增长,但对于我的目的来说足够了(20MB - 1GB)。/tmp
目录中的文件将存储在RAM中。这不是因为它是tmpfs,而是因为文件缓存是惰性的。 - MSalters
fstab
文件中添加一个tmpfs条目呢?添加“user”标志,以便用户可以按需挂载它。或者只需使用内存映射文件即可。 - Some programmer dudesystem
:-) - Ciro Santilli OurBigBook.com