在Linux上用C ++创建一个ramdisk

时间:2012-09-27 10:51:05

标签: c++ linux creation ramdisk

我需要使用 c ++ 将ramfs挂载到linux中的目录。我想让它像用户一样(没有sudo)。

我需要在我创建的文件上调用应用程序,这通常是。将其写入HDD非常慢。

我发现:

system("mkdir /mnt/ram");
system("mount -t ramfs -o size=20m ramfs /mnt/ram");

但这并不好。我想成为普通用户,可以像root一样调用命令mount。 我该怎么办?

2 个答案:

答案 0 :(得分:0)

对于用户空间ramfs解决方案,您可以使用python-fuse-ramfs

答案 1 :(得分:-1)

我检查/tmp是否是ramfs,但事实并非如此。它在HDD上创建文件。但当我运行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,使用文件。 Here/dev/shm描述和用法。唯一的问题是tmpfs will not grow dynamically,但就我的目的而言,它就足够了(20MB - 1GB)。