Создание RAM диска на Ubuntu
02.11.2011 10:03:56Иногда появляется необходимость создать виртуальный диск в оперативной памяти. Это чаще всего надо для ускорения некоторых файловых операций благо в наше время не удивишь большим количеством оперативной памяти. В общем не буду тянуть резину...
Для создания RAM диска в оперативной памяти есть два способа (в Linux)
-
Создание диска жестко закрепленного в оперативной памяти:
sudo mkfs -t ext2 -q /dev/ram1 64Msudo mkdir -p /media/ram
sudo mount /dev/ram1 /media/ram -o defaults,rw
sudo chmod -R 777 /media/ram
К сожалению у меня не получилось создать диск больше 64 мегабайт, даже не знаю с чем это связанно. Как видно из первой строчки у нас используется файловая система ext2, я не стал использовать ext3 так как журналирование для виртуального диска просто лишняя потеря в скорости, в первой строчке мы форматируем устройство, во второй создаем папку в нужном месте, можно даже в корне, мне было удобнее в media, так как там отображается. В третьей строчке мы монтируем устройство, в четвертой ставим права, поскольку все создавалось из под root, то если мы этого не сделаем, не сможем писать туда ничего. Кстати чтобы размонтировать раздел надо использовать sudo umount /media/ram, и не забываем удалить папку sudo rmdir /media/ram, а иначе она так и останется лежать мусором -
Есть и другой способ он более гибкий и проще, но мне не понравился
sudo mkdir /dev/shm/RAMtmp/sudo chmod 777 /dev/shm/RAMtmp/
sudo mount -t tmpfs -o size=64M tmpfs /dev/shm/RAMtmp
Отличие в том что в случае перегруза оперативной памяти RAM диск свалится в файл подкачки, с одной стороны это плюс, а с другой минус и еще что хорошо при таком подходе память расходуется постепенно что вполне выгодно
Сейчас я описал только динамические способы создания виртуального диска в памяти, поскольку мне пока нет надобности чтобы моя оперативная память съедалась постоянно.
Для того чтобы диск создавался при старте системы есть совершенно другой способ с использованием fstab, об этом может быть напишу в другой статье, повторяю может быть :)
Рейтинг $r-- [1] $r++
Показать коментарии (vkontakte.ru)