Как правильно изменить размер / запустить (сделать / запустить / шм больше) - и где его размер установлен?

8

В Ubuntu 13.04 / dev / shm - это символическая ссылка на / run / shm, а / run / shm - это просто подкаталог / run. / run - это некоторые tmpfs, которые смонтированы, но ………… Я не могу найти, что и как (конечно, его нет в / etc / fstab, и я не могу найти ничего разумного в / etc / init *).

Хотя обычно этот каталог не требует внимания, как при попытке настроить Oracle, так и при попытке установить DB2, я столкнулся с ошибками, которые в итоге оказались такими, что «/ dev / shm слишком мал». Net полон советов, как смонтировать --rebind run, чтобы сделать его больше, но эта операция прекрасно разбивает приложения, которые используют / запускают и уже работают в тот момент, когда происходит повторное связывание (и их много, особенно на настольных компьютерах, включая такие вещи, как upstart, networkmanager или udev).

Мои вопросы:

  1. Где именно код, который монтирует / запускает, когда это происходит?

  2. Что я должен изменить, чтобы увеличить / запустить размер в момент его создания? (на моем ноутбуке это занимает 10% памяти - 600 МБ на ноутбуке 6 ГБ - я бы хотел выделить 1 ГБ)

  3. Если 2 невозможно, каков подходящий момент для повторного связывания / запуска, чтобы изменить его размер - так что это происходит до того, как что-либо действительно начинает использовать / запускать?

  4. Существует ли какая-либо документация по этому вопросу? Хотя есть много постов и заметок о / run как таковых, я не смог найти ничего о его настройке.

Мекк
источник
3
Ради истории: я обнаружил, что лучший способ решить проблемы с оракулом - это ... двоичное редактирование $ ORACLE_HOME / bin / oracle и изменение строк / dev / shm в / run / shm (к счастью, они имеют одинаковую длину) , Oracle неправильно вычисляет размер в случае символической ссылки
Mekk
@Mekk; Блестящий! Используется: "vi /u01/app/oracle/product/11.2.0/xe/bin# vi oracle", затем "Shift-Colon", затем "% s / \ / dev \ / shm / \ / run \ / shm" и ВОЙТИ. Работал как чемпион.
Николай

Ответы:

10

В Ubuntu эти монтирования сконфигурированы /lib/init/fstab, и, как сказано в комментариях по умолчанию, для переопределения настроек вы можете просто скопировать строку /etc/fstabи изменить ее по своему усмотрению.

# /lib/init/fstab: static file system information.
#
# These are the filesystems that are always mounted on boot, you can
# override any of these by copying the appropriate line from this file into
# /etc/fstab and tweaking it as you see fit.  See fstab(5).
Джейсон Конти
источник
Для меня, несмотря на то, что я настроил значение размера / run, он все еще был смонтирован с использованием 10% физической памяти по умолчанию. Когда я печатаю mount, запись отображается с моим обновленным значением (в данном случае 50%), но мой фактический выделенный размер для моего каталога / run остается 10%. Есть что-то, чего я здесь не хватает?
Райан Гриффит
@RyanGriffith, с переключением на systemd, / lib / init / fstab больше нет, однако предполагается, что systemd по-прежнему проверяет / etc / fstab, и это сработало для меня, когда я попробовал 17.04.
Джейсон Конти