crear un disco RAM en C ++ en Linux

votos
4

Necesito hacer una ramfs una montarlo en un directorio en Linux usando C ++ . Quiero que sea como un usuario (sin sudo).

Tengo que llamar a una aplicación en un archivo que he creado y que será a menudo. Escribirla en el disco duro es muy lento.

He encontrado justo:

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

pero eso no es bueno. Quiero ser un usuario normal, y el mando mountpuede ser llamado simplemente como root. ¿que puedo hacer?

Publicado el 27/09/2012 a las 11:51
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
0

Para una solución ramfs espacio de usuario, puede utilizar python-fuse-ramfs .

Respondida el 27/02/2013 a las 15:58
fuente por usuario

votos
-1

Me checket si /tmpes un ramfs, pero no lo es. Se crea archivos en el disco duro. pero cuando corro df -hda salida:

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

Esto significa que tmpfs(discos ram) son: /dev/shm, /run, /sys/fs/cgroupy /media. Pero sólo uno de esto está destinado a ser un disco de memoria temporal para la comunicación entre procesos, el uso de archivos. Aquí es la /dev/shmdescripción y el uso. Lo único es que tmpfs no va a crecer de forma dinámica , pero para mis propósitos será suficiente (20 MB - 1 GB).

Respondida el 28/09/2012 a las 07:01
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more