Khi các tệp lớn bị xóa trên máy chủ, các tệp vẫn có thể được tham chiếu bởi các quy trình, vì vậy hệ thống tệp không có nhiều không gian trống.
Tôi đã thử sử dụng lsof , nhưng có vẻ như nó không liệt kê các tệp đã bị xóa. fuser -c
đã làm việc tốt hơn, nhưng danh sách các quy trình chỉ là quá dài để kiểm tra nó cho từng quy trình, đặc biệt vì mỗi quy trình là một quy trình của Oracle.
bash-3.2# fuser -c /var
/var: 105o 29999o 20444c 3528c 27258o 7715o 3864o 3862o 2494o 18205o 17450co 17445co 14912co 14824co 14818co 14816o 14814o 8532c 8530c 7633com 7118o 6958o 6790c 6784co 6734o 6693o 6689o 6684o 6675o 6635o 6594c 6548o 6547o 6546o 6545o 6544o 6543o 6542o 6541o 6540o 6537o 6535o 6456o 6128co 6113o 335o 245co 229o 161o 8o
bash-3.2# du -hs /proc
139T /proc
Đôi khi xảy ra việc một tệp bị xóa bởi một ứng dụng hoặc người dùng, ví dụ như tệp logfile và tệp này vẫn đang được tham chiếu bởi một quy trình không thể khởi động lại.
Có phương pháp hàng hóa để lấy lại không gian đĩa trên các tệp đã xóa mà không khởi động lại quá trình có tham chiếu đến tệp đã xóa này không?
cp /dev/null
là một lệnh null vì cp
không có gì để sao chép, một chuyển hướng đơn giản hoàn toàn tương đương :>file
hoặc thậm chí>file
cp /dev/null file