Для чего используются «/ run / lock» и «/ run / shm»?


73

Я просто хочу знать, где и как /run/lockи чем /run/shmможет помочь наш ПК.

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              56G   13G   41G  24% /
udev                  983M  4.0K  983M   1% /dev
tmpfs                 396M  840K  395M   1% /run
none                  5.0M  8.0K  5.0M   1% /run/lock
none                  990M  164K  990M   0% /run/shm

Ответы:


101

Краткий ответ: они хранят временные системные файлы, включая блокировки устройств и сегменты памяти, используемые разными процессами. Не волнуйтесь, они обычно используют фракцию их «размер» , показанного наdf

  1. /runкак правило, это временная файловая система (tmpfs), находящаяся в оперативной памяти (он же «ramdisk»); он предназначен для хранения «временных» файлов системы или состояний, которые могут быть критическими, но не требуют сохранения при перезагрузке.

    • /runна самом деле это довольно новое нововведение, которое было добавлено пару лет назад для замены нескольких созданных ранее tmpfs (включая /var/lockи /dev/shm) на единый объединенный корневой tmpfs.
    • Основные места /run замен:
    / var / run → / run
    / var / lock → / run / lock
    / dev / shm → / run / shm [в настоящее время это планирует только Debian]
    / tmp → / run / tmp [необязательно; в настоящее время только Debian планирует предложить это]
    
  2. /run/lock(ранее /var/lock) содержит файлы блокировки , то есть файлы, указывающие на то, что используется общее устройство или другой системный ресурс, и содержащие идентификатор процесса (PID), использующего его; это позволяет другим процессам правильно координировать доступ к общему устройству.

  3. /run/shm(ранее /dev/shm) - это временная доступная для записи общая память. Строго говоря , он предназначен для хранения программ, использующих API общей памяти POSIX. Это облегчает то, что известно как межпроцессное взаимодействие (IPC) , где различные процессы могут совместно использовать и обмениваться данными через общую область памяти, которая в этом случае обычно является обычным файлом, который хранится на «виртуальном диске». Конечно, это может быть использовано и использовалось и другими творческими способами;)

  4. Не беспокойтесь о размере : важно, что многие люди, бегущие df -hи знающие, что /runподдерживается ОЗУ, шокированы тем, что их драгоценная память «тратится» на эти загадочные папки. Точно так же, как Linux съел мой миф о RAM , эта вера неверна.

    • Показанный размер является только максимальным, который может быть использован
    • По умолчанию 50% физической памяти
    • Только то, что показано в столбце Используется, фактически используется, что на приведенном выше снимке экрана составляет менее 1 мегабайта.
    • Вы можете использовать ipcs -mкоманду, чтобы проверить, что фактические используемые сегменты разделяемой памяти соответствуют dfсводке, а также посмотреть, какие PID их используют.
    • Как и ваша обычная оперативная память, /runона также в конечном итоге поддерживается вашим подкачкой, поэтому, если вы используете /run/shm«более быструю» компиляцию, помните об этом;)

+1. CentOS (RHEL) 7. * по-прежнему использовать / dev / shm до сих пор.
Туанитим
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.