Do czego służą „/ run / lock” i „/ run / shm”?

73

Chcę tylko wiedzieć, gdzie i jak /run/lock, a /run/shmmoże pomóc nasz komputer.

$ 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
rɑːdʒɑ
źródło

Odpowiedzi:

101

Krótka odpowiedź: przechowują tymczasowe pliki systemowe, w tym blokady urządzeń i segmenty pamięci współużytkowane przez różne procesy. Nie martw się, zwykle używają ułamka swojego „rozmiaru” pokazanego przezdf

  1. /runjest ogólnie tymczasowym systemem plików (tmpfs) rezydującym w pamięci RAM (alias „ramdisk”); służy do przechowywania „tymczasowych” plików systemowych lub stanu, które mogą być krytyczne, ale nie wymagają trwałości podczas ponownego uruchamiania.

    • /runjest właściwie całkiem nową innowacją i został dodany kilka lat temu w celu zastąpienia wielu tmpfs, które były tworzone (w tym /var/locki /dev/shm), jednym zunifikowanym rootem tmpfs.
    • Główne lokalizacje /run zastępuje to:
    / var / run → / run
    / var / lock → / run / lock
    / dev / shm → / run / shm [obecnie Debian planuje to zrobić]
    / tmp → / run / tmp [opcjonalnie; obecnie tylko Debian planuje to zaoferować]
    
  2. /run/lock(poprzednio /var/lock) zawiera pliki blokujące , tj. pliki wskazujące, że używane jest urządzenie współużytkowane lub inny zasób systemowy i zawierające tożsamość procesu (PID), który go używa; pozwala to innym procesom na właściwą koordynację dostępu do współdzielonego urządzenia.

  3. /run/shm(dawniej /dev/shm) to tymczasowa pamięć współdzielona zapisywana w świecie. Ściśle mówiąc , jest przeznaczony do przechowywania programów korzystających z interfejsu API pamięci wspólnej POSIX. Ułatwia to tak zwaną komunikację międzyprocesową (IPC) , w której różne procesy mogą współdzielić i komunikować się za pośrednictwem wspólnego obszaru pamięci, którym w tym przypadku jest zwykle normalny plik przechowywany na „ramdysku”. Oczywiście można go i wykorzystano również na inne kreatywne sposoby;)

  4. Nie przejmuj się wielkością : co ważne, wiele osób biegających df -hi wiedzących, że /runjest wspierane przez pamięć RAM, jest zszokowanych tym, że ich cenna pamięć jest „marnowana” przez te tajemnicze foldery. Podobnie jak Linux zjadł mój mit RAM , to przekonanie jest błędne.

    • Pokazany rozmiar jest tylko maksymalnym możliwym do użycia
    • Domyślnie 50% fizycznej pamięci RAM
    • W użyciu jest tylko tyle, ile jest pokazane w kolumnie Użyte , co na powyższym zrzucie ekranu wynosi mniej niż 1 megabajt
    • Możesz użyć ipcs -mpolecenia, aby sprawdzić, czy używane segmenty pamięci współużytkowanej są zgodne z dfpodsumowaniem, a także zobaczyć, które z nich korzystają z PID
    • Podobnie jak twoja zwykła pamięć RAM, w /runkońcu jest również blokowany przez swap, więc jeśli używasz /run/shmdo „szybszych” czasów kompilacji, pamiętaj o tym;)
ish
źródło
+1. CentOS (RHEL) 7. * nadal używa / dev / shm jeszcze teraz.
Tuanitim,