Для чого використовуються “/ 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 → / бігати
    / 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) , де різні процеси можуть обмінюватися та спілкуватися через загальну область пам’яті, що в такому випадку зазвичай є звичайним файлом, який зберігається на «ramdisk». Звичайно, це може бути і використовується в інших творчих способах;)

  4. Не турбуйтеся про розмір : важливо, що багато людей, які працюють df -hі знаючи, що /runпідтримується оперативною пам’яттю, шоковані тим, що цією загадковою папкою «витрачається» їх дорогоцінна пам’ять. Так само, як Linux їв міф про оперативну пам'ять , ця віра є неправильною.

    • Показаний розмір - це лише максимум, який можна використовувати
    • Він за замовчуванням становить 50% фізичної пам'яті
    • Тільки стільки , скільки показано в Used колонці насправді у використанні, що в наведеному вище знімку екрана становить менше 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.