Я использую Ubuntu 10.04(64bit) для моего рабочего стола.
Машина имеет 5 ГБ оперативной памяти.
Я хочу использовать RAM-диск (1G или 2G), но я не знаю, как мне это сделать.
Есть ли продукт с открытым исходным кодом RAM-диска?
Я использую Ubuntu 10.04(64bit) для моего рабочего стола.
Машина имеет 5 ГБ оперативной памяти.
Я хочу использовать RAM-диск (1G или 2G), но я не знаю, как мне это сделать.
Есть ли продукт с открытым исходным кодом RAM-диска?
Технология встроена в ядро, вам не нужны никакие дополнительные инструменты. На самом деле у вас уже есть несколько RAM-дисков (которые вы не должны использовать, они зарезервированы для системы), которые вы можете увидеть, выполнив
grep -w tmpfs /proc/mounts
Чтобы настроить 2 ГБ ОЗУ, смонтированный на /ramdisk , добавьте следующую строку в /etc/fstab:
ramdisk /ramdisk tmpfs mode=1777,size=2g
Затем подключите диск с помощью команды mount /ramdisk (это будет выполнено автоматически при перезагрузке).
Указанный размер является максимальным, диск использует только столько памяти, сколько файлов на нем.
Вы можете изменить /tmp на RAM-диск. В приведенной выше строке /etc/fstab вместо /tmp /ramdisk , затем перезагрузите компьютер.
При первой перезагрузке после изменения /tmp на RAM-диск файлы, которые были в /tmp будут скрыты. Это безвредно, за исключением того, что они тратят немного дискового пространства. Вы можете очистить их (после перезагрузки с /tmp на диске RAM), выполнив
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
Команда mount --bind делает /mnt дублирующим представлением вашей корневой файловой системы; но в то время как RAM-диск теперь скрывает /tmp в корневом представлении, ничто не скрывает /mnt/tmp .
ДОБАВЛЕНО: Вы можете переключить /tmp на RAM-диск без перезагрузки, это немного сложнее. Добавьте строку в /etc/fstab как указано выше, затем выполните следующие команды:
mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .
Затем удалите /tmp.old после следующей перезагрузки.
Причина, по которой вы не можете просто переместить файлы из /tmp.old в /tmp заключается в том, что некоторые критически важные программы открывают файлы в /tmp , например /tmp/.X11-unix/X0 который слушает X-сервер, и каждая программа с графическим интерфейсом открывается при запуске. Перемещение файла в другую файловую систему означает его копирование и удаление старого, так что в итоге X-сервер все еще слушает /tmp.old/.X11-unix/X0 но клиенты X обращаются в /tmp/.X11-unix/X0 напрасно. На сервере вы можете избежать неприятностей, если будете осторожны.