RAM-диск на Mac: команда в Терминале и программа

RAM-диск на Mac: команда в Терминале и программа

В Дисковой утилите нет кнопки «Создать RAM-диск», но сама macOS это умеет: две встроенные команды, hdiutil и diskutil, создают диск в памяти одной строкой в Терминале. Ниже - команды, расчёт размера, как извлечь диск, чего этот способ не умеет и когда проще поставить программу.

Коротко
  • RAM-диск на 2 ГБ: diskutil erasevolume APFS RAMDisk $(hdiutil attach -nomount ram://4194304)
  • Размер задаётся в секторах по 512 байт: гигабайты × 2097152.
  • Извлечь диск можно в Finder или командой hdiutil detach: файлы пропадут, память вернётся.
  • После перезагрузки диска тоже нет. Бесплатная программа Exlade RamDisk возвращает его вместе с файлами.

Как создать RAM-диск в Терминале

Откройте Терминал (Программы → Утилиты) и выполните одну строку. Она создаёт диск RAMDisk на 2 ГБ:

diskutil erasevolume APFS RAMDisk $(hdiutil attach -nomount ram://4194304)
  • hdiutil attach -nomount ram://4194304 создаёт блочное устройство в памяти и печатает его имя, например /dev/disk4.
  • diskutil erasevolume APFS RAMDisk ... форматирует это устройство и подключает его как /Volumes/RAMDisk. В Finder он появится, как флешка.
  • Для Mac OS Extended напишите HFS+ вместо APFS. Для временного диска подходят обе.

Ни sudo, ни пароль администратора не нужны.

Сколько секторов указать

Число после ram:// - это количество секторов по 512 байт, а не мегабайты. Гигабайт - это 1024 × 1024 × 1024 / 512 = 2097152 сектора, мегабайт - 2048.

Размер диска Секторов Что писать
512 МБ 1048576 ram://1048576
1 ГБ 2097152 ram://2097152
2 ГБ 4194304 ram://4194304
4 ГБ 8388608 ram://8388608
8 ГБ 16777216 ram://16777216

diskutil erasevolume стирает то устройство, которое ему передали. Оставьте форму $(...), чтобы оно получило RAM-устройство прямо от hdiutil, и не вписывайте номер диска вручную, не проверив его в diskutil list.

Версии macOS: эти команды есть в системе много лет и работают в macOS 15 Sequoia и macOS 26 Tahoe, на Apple Silicon и Intel. В справке man hdiutil до сих пор есть пример с ram://. APFS нужна macOS 10.13 High Sierra или новее, HFS+ работает везде.

Как извлечь RAM-диск

Нажмите кнопку извлечения рядом с диском в Finder или выполните одну из команд с именем устройства, которое напечатала hdiutil:

hdiutil detach /dev/disk4
diskutil eject disk4

Если имя потерялось, его покажут hdiutil info или diskutil list. Всё, что было на диске, удаляется, а память возвращается системе.

Чего не умеет способ через Терминал

Хорошо
  • Встроен в macOS, ставить ничего не нужно
  • Не нужны права администратора
  • Подходит для одного сеанса или одной большой сборки
Ограничения
  • После перезагрузки диск пропадает вместе с файлами
  • Размер постоянный: чтобы изменить, диск придётся извлечь и создать заново
  • Память возвращается, только когда диск извлекут
  • Сам при входе в систему не создаётся, нужен скрипт
  • Кэши вроде DerivedData переносить вручную

Чтобы диск появлялся при каждом входе, положите команду в shell-скрипт и запускайте его через LaunchAgent: файл .plist в ~/Library/LaunchAgents с ключом RunAtLoad. Диск всё равно будет пустым: сохранять и возвращать файлы придётся тому же скрипту.

Способ с программой: Exlade RamDisk для Mac

Exlade RamDisk - бесплатная программа для RAM-дисков на macOS 15 и новее, на Apple Silicon и Intel. Она живёт в строке меню, не требует прав администратора и бесплатна для дома и работы. Есть версии для Windows и Linux: о них в новости о выходе.

  Терминал Exlade RamDisk
После перезагрузки диска нет создаётся снова, файлы можно сохранять
Размер извлечь и создать заново меняется в любой момент, файлы на месте
DerivedData, кэш npm переносить вручную переносят шаблоны
Шифрование отдельными командами diskutil apfs шифрование APFS, случайный ключ
Мало памяти следите сами сохраняет файлы, предлагает извлечь ненужные диски
Установите

Скачайте программу на странице загрузки и перетащите в «Программы» или поставьте через Homebrew вместе с утилитой eramdisk:

brew install --cask exlade-ci/tap/exlade-ramdisk
Создайте диск

Нажмите «Новый RAM-диск» и задайте название и размер или выберите шаблон: Xcode создаёт диск на 8 ГБ для DerivedData, npm - на 2 ГБ для кэша npm. Переносятся и кэши Swift Package Manager, CocoaPods, Homebrew и Chrome, и TMPDIR. Xcode и npm получают новое место в своих настройках (Xcode нужно перезапустить), TMPDIR действует для программ, запущенных после этого, а на месте остальных папок остаётся ссылка, и программы работают с теми же путями.

Сохраните его после перезагрузки

Включите «Создавать при запуске RamDisk», а если файлы важны - «Сохранять файлы между запусками»: они сохраняются каждые 5, 10 или 30 минут и перед сном. Затем в настройках включите «Открывать при входе в систему».

Пусть следит за памятью

В «Настройках» на вкладке «Поведение» пункт «Действовать при нехватке памяти» сразу сохраняет файлы и предлагает извлечь диски, которыми 10 минут никто не пользовался. Заполненный диск можно увеличить.

Настройки Exlade RamDisk на Mac, вкладка «Поведение»: когда диск почти заполнен, действовать при нехватке памяти, извлекать неиспользуемые диски

Разработчикам: что держать на диске и какого он должен быть размера, читайте в статье DerivedData Xcode, кэши npm и других менеджеров на RAM-диске.

Частые вопросы

Как создавать RAM-диск на Mac при запуске?

Сама macOS этого не делает. Либо запускайте команду из Терминала через LaunchAgent при входе, либо возьмите программу: в Exlade RamDisk включите у диска «Создавать при запуске RamDisk», а в настройках «Открывать при входе в систему».

Сколько секторов в 8 ГБ?

16777216: 8 × 1024 × 1024 × 1024 байт, делённые на 512. Для любого размера умножьте гигабайты на 2097152 или мегабайты на 2048.

APFS или HFS+?

Подходят обе. Для временного диска хватит HFS+ (Mac OS Extended). Зашифрованный RAM-диск должен быть в APFS: Exlade RamDisk для зашифрованных дисков всегда берёт APFS.

Работает ли RAM-диск на Apple Silicon?

Да. Команды в Терминале на Mac с чипами M и Intel одинаковые, а Exlade RamDisk - универсальная программа. На Apple Silicon память общая с видеоядром, поэтому на Mac с 8 ГБ делайте диск небольшим. Сколько памяти отдать RAM-диску.

Скачайте Exlade RamDisk бесплатно

Windows 10 и 11, macOS 15 и новее, Ubuntu, Debian и Fedora. Без регистрации и пробного периода.

Скачать бесплатно Возможности