ใช้“ / 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) ที่อยู่ใน RAM (aka "ramdisk"); มันมีไว้สำหรับการจัดเก็บระบบ "ชั่วคราว" หรือไฟล์สถานะซึ่งอาจมีความสำคัญ แต่ไม่จำเป็นต้องมีความคงทนในการรีบูต

    • /runจริง ๆ แล้วเป็นนวัตกรรมใหม่ที่ค่อนข้างเป็นธรรมและถูกเพิ่มเมื่อสองสามปีก่อนเพื่อแทนที่ tmpfs หลายอันที่เคยถูกสร้าง (รวมถึง/var/lockและ/dev/shm) ด้วย root tmpfs ที่รวมเป็นหนึ่งเดียว
    • สถานที่หลัก/run แทนที่คือ:
    / var / run → / run
    / var / lock → / run / lock
    / dev / shm → / run / shm [ขณะนี้ Debian มีแผนที่จะทำเช่นนี้เท่านั้น]
    / tmp → / run / tmp [ไม่จำเป็น; ปัจจุบันเดเบียนมีแผนเสนอเท่านั้น]
    
  2. /run/lock(ก่อนหน้านี้/var/lock) มีไฟล์ล็อคเช่นไฟล์ที่ระบุว่าอุปกรณ์ที่ใช้ร่วมกันหรือทรัพยากรระบบอื่นกำลังถูกใช้งานและมีข้อมูลประจำตัวของกระบวนการ (PID) ที่ใช้งาน สิ่งนี้ทำให้กระบวนการอื่น ๆ สามารถประสานการเข้าถึงอุปกรณ์ที่ใช้ร่วมกันได้

  3. /run/shm(เดิม/dev/shm) เป็นหน่วยความจำที่แชร์กันแบบเขียนได้ชั่วคราวทั่วโลก พูดอย่างเคร่งครัดมันมีจุดประสงค์เพื่อเป็นที่เก็บข้อมูลสำหรับโปรแกรมที่ใช้ POSIX Shared Memory API มันอำนวยความสะดวกในสิ่งที่เรียกว่าการสื่อสารระหว่างกระบวนการ (IPC)ซึ่งกระบวนการต่าง ๆ สามารถแบ่งปันและสื่อสารผ่านพื้นที่หน่วยความจำทั่วไปซึ่งในกรณีนี้มักจะเป็นไฟล์ปกติที่เก็บไว้ใน "ramdisk" แน่นอนมันสามารถและถูกนำไปใช้ในวิธีการสร้างสรรค์อื่น ๆ เช่นกัน;)

  4. อย่าตกใจกับขนาด : ที่สำคัญคนจำนวนมากที่วิ่งdf -hและรู้ว่า/runได้รับการสนับสนุนจากแรมจะตกใจที่หน่วยความจำอันมีค่าของพวกเขากำลังถูก "สูญเสีย" โดยโฟลเดอร์ลึกลับเหล่านี้ เช่นเดียวกับLinux ที่กินตำนาน RAM ของฉันแม้ว่าความเชื่อนี้ไม่ถูกต้อง

    • ขนาดที่แสดงเป็นขนาดสูงสุดที่สามารถใช้ได้เท่านั้น
    • ค่าเริ่มต้นคือ 50% ของ RAM จริง
    • มีการใช้งานจริงมากเท่าที่แสดงในคอลัมน์ใช้ซึ่งในภาพหน้าจอด้านบนมีขนาดน้อยกว่า 1 เมกะไบต์
    • คุณสามารถใช้ipcs -mคำสั่งเพื่อตรวจสอบว่าเซ็กเมนต์หน่วยความจำที่แบ่งใช้จริงที่ใช้ตรงกับการdfสรุปและยังดูว่า PID ใดที่ใช้งานอยู่
    • เช่นเดียวกับ RAM ปกติของคุณ/runในที่สุดก็มีการย้อนกลับโดยการสลับของคุณดังนั้นหากคุณใช้/run/shmเวลาในการคอมไพล์ "เร็ว" ให้จำไว้;)

+1 CentOS (RHEL) 7. * ยังคงใช้ / dev / shm อยู่ตอนนี้
Tuanitim
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.