Những gì được sử dụng để chạy / khóa / khóa và và / chạy / shm, được sử dụng để làm gì?


73

Tôi chỉ muốn biết nơi và làm thế nào /run/lock/run/shmcó thể giúp PC của chúng tôi.

$ 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

Câu trả lời:


101

Câu trả lời ngắn: họ lưu trữ các tệp hệ thống tạm thời, bao gồm khóa thiết bị và phân đoạn bộ nhớ được chia sẻ giữa các quy trình khác nhau. Đừng lo lắng, họ thường sử dụng một phần "kích thước" được hiển thị bởidf

  1. /runnói chung, là một hệ thống tệp tạm thời (tmpfs) nằm trong RAM (còn gọi là "ramdisk"); nó có nghĩa là để lưu trữ các tập tin hệ thống hoặc trạng thái "tạm thời" có thể rất quan trọng nhưng không yêu cầu sự kiên trì trong quá trình khởi động lại.

    • /runthực sự là một cải tiến khá mới và đã được thêm vào một vài năm trước để thay thế nhiều tmpfs đã từng được tạo ra (bao gồm /var/lock/dev/shm) bằng một tmpfs gốc thống nhất.
    • Các vị trí chính /run thay thế là:
    / var / chạy → / chạy
    / var / khóa → / chạy / khóa
    / dev / shm → / run / shm [hiện tại chỉ Debian có kế hoạch thực hiện việc này]
    / tmp → / run / tmp [tùy chọn; Hiện tại chỉ có Debian có kế hoạch cung cấp cái này]
    
  2. /run/lock(trước đây /var/lock) chứa các tệp khóa , tức là các tệp chỉ ra rằng một thiết bị dùng chung hoặc tài nguyên hệ thống khác đang được sử dụng và chứa danh tính của quá trình (PID) sử dụng nó; điều này cho phép các quá trình khác phối hợp truy cập đúng vào thiết bị dùng chung.

  3. /run/shm(trước đây /dev/shm) là bộ nhớ chia sẻ thế giới tạm thời có thể ghi. Nói đúng ra , nó được dự định là nơi lưu trữ cho các chương trình sử dụng API bộ nhớ chia sẻ POSIX. Nó tạo điều kiện cho cái được gọi là giao tiếp giữa các quá trình (IPC) , trong đó các quá trình khác nhau có thể chia sẻ và giao tiếp qua một vùng nhớ chung, trong trường hợp này thường là một tệp bình thường được lưu trữ trên "ramdisk". Tất nhiên, nó cũng có thể và đã được sử dụng theo những cách sáng tạo khác;)

  4. Đừng lo lắng về kích thước : quan trọng là nhiều người đang chạy df -hvà biết rằng /runđược hỗ trợ bởi RAM đã bị sốc khi bộ nhớ quý giá của họ bị "lãng phí" bởi các thư mục bí ẩn này. Giống như Linux đã ăn huyền thoại RAM của tôi , niềm tin này là không chính xác.

    • Kích thước hiển thị chỉ là tối đa có thể được sử dụng
    • Nó mặc định là 50% RAM vật lý
    • Chỉ có nhiều như được hiển thị trong cột Được sử dụng thực sự đang được sử dụng, trong ảnh chụp màn hình ở trên có tổng chưa đến 1 megabyte
    • Bạn có thể sử dụng ipcs -mlệnh để xác minh rằng các phân đoạn bộ nhớ được chia sẻ thực tế được sử dụng khớp với dftóm tắt và cũng xem các PID nào đang sử dụng chúng
    • Giống như RAM thông thường của bạn, /runcuối cùng cũng bị chặn bởi trao đổi của bạn, vì vậy nếu bạn đang sử dụng /run/shmthời gian biên dịch "nhanh hơn", hãy ghi nhớ điều đó;)

+1. CentOS (RHEL) 7. * vẫn sử dụng / dev / shm vẫn còn.
Tuấnitim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.