Untuk apa "/ run / lock" dan "/ run / shm" digunakan?

73

Saya hanya ingin tahu di mana dan bagaimana /run/lockdan /run/shmdapat membantu PC kami.

$ 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ʒɑ
sumber

Jawaban:

101

Jawaban singkat: mereka menyimpan file sistem sementara, termasuk kunci perangkat dan segmen memori yang digunakan bersama antara berbagai proses. Jangan khawatir, mereka biasanya menggunakan sebagian kecil dari "ukuran" yang ditunjukkan olehdf

  1. /runsecara umum adalah filesystem sementara (tmpfs) yang berada di RAM (alias "ramdisk"); ini dimaksudkan untuk menyimpan sistem "sementara" atau menyatakan file yang mungkin penting tetapi tidak memerlukan kegigihan di seluruh reboot.

    • /runsebenarnya merupakan inovasi yang cukup baru, dan ditambahkan beberapa tahun yang lalu untuk menggantikan beberapa tmpf yang dulu dibuat (termasuk /var/lockdan /dev/shm) dengan tmpfs tunggal yang disatukan.
    • Lokasi utama yang /run diganti adalah:
    / var / run → / run
    / var / lock → / run / lock
    / dev / shm → / run / shm [saat ini hanya Debian yang berencana untuk melakukan ini]
    / tmp → / run / tmp [opsional; saat ini hanya Debian yang berencana menawarkan ini]
    
  2. /run/lock(sebelumnya /var/lock) berisi file kunci , yaitu file yang menunjukkan bahwa perangkat bersama atau sumber daya sistem lainnya sedang digunakan dan berisi identitas proses (PID) yang menggunakannya; ini memungkinkan proses lain untuk mengoordinasikan akses ke perangkat yang dibagikan dengan benar.

  3. /run/shm(Sebelumnya /dev/shm) adalah memori bersama dunia-sementara yang dapat ditulis. Sebenarnya , ini dimaksudkan sebagai penyimpanan untuk program menggunakan POSIX Shared Memory API. Ini memfasilitasi apa yang dikenal sebagai komunikasi antar proses (IPC) , di mana berbagai proses dapat berbagi dan berkomunikasi melalui area memori umum, yang dalam hal ini biasanya merupakan file normal yang disimpan pada "ramdisk". Tentu saja, itu bisa dan telah digunakan dengan cara kreatif lainnya juga;)

  4. Jangan khawatir tentang ukurannya : yang penting, banyak orang yang menjalankan df -hdan mengetahui bahwa /runitu didukung oleh RAM terkejut bahwa memori mereka yang berharga sedang "terbuang" oleh folder misterius ini. Sama seperti Linux memakan mitos RAM saya , kepercayaan ini tidak benar.

    • Ukuran yang ditampilkan hanya maksimal yang dapat digunakan
    • Nilai standarnya adalah 50% dari RAM fisik
    • Hanya sebanyak yang diperlihatkan di kolom Bekas yang benar-benar digunakan, yang dalam tangkapan layar di atas kurang dari 1 megabita total
    • Anda dapat menggunakan ipcs -mperintah untuk memverifikasi bahwa segmen memori bersama aktual yang digunakan cocok dengan dfringkasan, dan juga melihat PID mana yang menggunakannya
    • Seperti RAM reguler Anda, pada /runakhirnya juga didukung oleh swap Anda, jadi jika Anda menggunakan /run/shmwaktu kompilasi "lebih cepat", ingatlah;)
ish
sumber
+1. CentOS (RHEL) 7. * masih menggunakan / dev / shm masih sekarang.
Tuanitim