Tại sao df và du hiển thị đầu ra khác nhau?


8

Khi tôi thực thi lệnh, df -h /tmpnó báo mức sử dụng đĩa là 100% , nhưng khi thử, du -sh /tmpnó báo mức sử dụng đĩa là 2% .

Tôi muốn biết tại sao các lệnh này hiển thị đầu ra khác nhau, hai lệnh này hoạt động như thế nào và giải pháp cho vấn đề này là gì.

Bối cảnh: /tmp được cài đặt trên hệ thống tập tin riêng của nó. Tôi đang sử dụng phiên bản máy chủ Ubuntu 12.04 trên tài khoản VPS của mình. Do vấn đề này, việc sử dụng /tmp100% theo dfmột số chương trình phàn nàn về không gian trống trong /tmp.

Câu trả lời:


10

du báo cáo không gian trống bằng cách quét các nút có thể tiếp cận và tính toán kích thước của chúng.

Nếu một tệp được tạo, mở và sau đó bị xóa trong khi nó vẫn mở, chương trình đã mở nó sẽ tiếp tục có quyền truy cập vào tệp, và ghi và đọc có thể được thực hiện đến vị trí bộ nhớ đó trên đĩa. dukhông chiếm các tập tin mở như vậy trong khi dfđó.

Một khởi động lại đơn giản sẽ tuôn ra / tmp và giải quyết vấn đề của bạn.

Một cách khác là quét các tệp đang mở và khởi động lại hoặc tắt quá trình không giải phóng các tệp đã bị xóa.


1

Một số tệp trên hệ thống tập tin gốc có thể được ẩn đằng sau một điểm gắn kết. Các tệp có thể được tạo dưới điểm gắn kết khi thiết bị tương ứng không được gắn kết và khi thiết bị được gắn lại, các tệp không được tính bằng lệnh du. Vấn đề rất có thể xảy ra, khi có sự khác biệt lớn giữa kết quả du và df.


Chơi lô tô. Đây là nguyên nhân cho tôi.
jdhildeb

-1

Hãy chắc chắn rằng bạn sudokhi chạy du. Chẳng hạn, nếu bạn chạy du -hs /*, bạn sẽ không thấy việc sử dụng đĩa thực trừ khi bạn thêm sudo.

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.