Як зробити диск RAM?


55

Я хочу зробити перегородку, яка зроблена з тарана ...

Приклад

У Windows 7 можна зробити перегородку, яка зроблена з тарана

введіть тут опис зображення

Я створив 1 ГБ розділу в операційній пам'яті. використовуючи Primo RamDisk

Чи є в Ubuntu хороша альтернатива?


3
Ubuntu поставляється з tmpfs. Не потрібно створювати RAMDISK.
mixdev

Залежно від призначеного випадку використання, можливо, вам не знадобиться рамбіск для Ubuntu (або більшості дистрибутивів Linux). Операційна система кешує операції зчитування та запису оперативної пам'яті під час роботи з звичайними дисками. Якщо ви читаєте невеликий файл кілька разів, він буде витягнутий з диска лише один раз, а потім буде отриманий з кеша оперативної пам'яті наступного разу. Якщо у вас є багато оперативної пам’яті, все, що ви робите, буде кешовано таким чином, тож ви отримаєте дуже мало повторень на диску. Якщо ви хочете нестабільне швидке використання пам'яті замість файлів, вам все одно потрібна RAMDISK. Див. Linuxatemyram.com для отримання більш детальної інформації.
TafT

Відповіді:


77

Це покаже вам, як зробити RAMDISK супер швидко і легко. За допомогою RAMDISK ви можете використовувати свою пам'ять для тимчасового простору, і це набагато швидше, ніж ваш жорсткий диск.

Тепер давайте почнемо з використання наступних 2 команд, щоб зробити свій RAMDISK.

Поставте все, що ви хочете, щоб ваш RAMDISK був названий там, де я написав "nameme".

mkdir -p /media/nameme

mount -t tmpfs -o size=2048M tmpfs /media/nameme/
Вищезазначені команди використовуватимуть 2 ГБ моєї оперативної пам’яті для оперативної пам’яті. Якщо у вас немає стільки оперативної пам’яті, як у мене, я б використовував 512 Мб або 1 ГБ. Тож далі збиралися створити команду для Terminal, яка автоматично створить RAMDISK для вас.

Джерело: Як створити RAMDISK в Linux


3
Як я можу зробити так, щоб це зберігалося між перезавантаженнями?
chovy

1
Оскільки це оперативна пам'ять, вона є мінливою, коли ви перезавантажуєтесь, все втрачається, навіть якщо тепла завантаження, оскільки BIOS / EFI очистить оперативну пам'ять. Найкраще ви можете зробити скрипт оболонки, який виконує команди при вході в систему.
Брендон МакЕхерн

1
@chovy наполягати, у вас є пара варіантів, про які я думаю про 2 на даний момент. 1. написати api для запису на ram диск і асинхронний запис на hdd диск. Завжди читайте з оперативної пам’яті, тільки під час завантаження розігрійте баран з диска. 2. Час від часу зателефонуйте до якогось сценарію, який копіює що-небудь у оперативному диску на якийсь hdd-диск та копіює назад один раз після завантаження.
Лукас

іншим варіантом буде позначити щось на кшталт /tmp/cacheвашого кешового реєстру, де цей каталог насправді є точкою кріплення накладок (використовуючи tmpfs як верхній дір і все інше у вашій звичайній файловій системі, з якою ви зазвичай взаємодієте як downdir). це дозволить вам мати швидкий ефемерний шар і щось, що може тривіально синхронізуватися, якщо ви час від часу хочете зробити його частинами стійкими.
mway

chovy додайте його до /etc/rc.local, і він автоматично змонтує розділ ... але дані будуть втрачені.
777Анон

49

Файлова система tmpfs - це RAMDISK. Нижче буде створено 2G RAMDISK, який завжди буде доступний.

sudo mkdir -p /media/ramdisk
sudo mount -t tmpfs -o size=2048M tmpfs /media/ramdisk

Папка ramdisk належить root, оскільки вона повинна бути доступна при перезавантаженні. Дозволи на рамдиск повинні бути записані всіма. Дозволи дозволу tmpfs (chmod 1777) є правильними.

sudo chmod 1777 /media/ramdisk
drwxrwxrwt 2 root root 180 Apr 23 07:34 /media/ramdisk

Щоб зробити ramdisk постійно доступним, додайте його до / etc / fstab.

grep /media/ramdisk /etc/mtab | sudo tee -a /etc/fstab

Ви побачите, що лінія переміщена з mtab до fstab. Це буде виглядати приблизно так.

tmpfs /media/ramdisk tmpfs rw,size=2048M 0 0

RAMDISK не споживає пам'ять, поки ви не користуєтесь нею. Двічі перевірити свої вимоги до пам'яті під час максимального завантаження системи. Якщо RAMDISK занадто великий, ваша система споживає сховище своп, щоб компенсувати різницю.

Щоб відрегулювати розмір RAMDISK, відредагуйте / etc / fstab та перевірте, перезавантаживши ramdisk (ви втратите поточний вміст RAMDISK у процесі перезавантаження). Далі буде змінено розмір рамбіска на 512М

# Check the existing ramdisk size.
df /media/ramdisk
# change size=512M for a 512 megabyte ram drive.
sudo vi /etc/fstab
# Remount the ramdisk, you will lose any existing content.
sudo mount -a /media/ramdisk
# Verify the new ramdisk size.
df /media/ramdisk

1
Технічно tmpfsце ramfsне, а не рамдиск .
heemayl

2
Погодьтеся. Я вирішив використовувати RAMDISK, оскільки це загальна назва для цього в Windows.
rickfoosusa

Як можна перевірити, чи дійсно використовується рамбдиск? Я завжди сприймаю це як 0%.
БТР Найду

9

Додаючи мій 2-відсотковий випадок для випадку, коли ви не маєте root-привілеїв:

Цитуючи цю відповідь від unix.stackexchange

Linux надає пристрій tmpfs, яким може користуватися будь-який користувач, / dev / shm. За замовчуванням він не встановлений у певному каталозі, але ви все одно можете використовувати його як один.

Просто створіть каталог у / dev / shm, а потім позначте його там, де вам потрібно. Ви можете надати створеному каталогу будь-які обрані вами дозволи, щоб інші користувачі не мали доступу до нього.

Це пристрій з підтримкою оперативної пам’яті, тому те, що є в пам'яті за замовчуванням. Ви можете створити будь-які потрібні вам каталоги всередині / dev / shm

Звичайно, розміщені тут файли не переживуть перезавантаження, і якщо ваша машина почне мінятися, / dev / shm вам не допоможе.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.