Tại sao các lệnh của dfvvvvv


26

Tôi không thể truy cập hệ thống Ubuntu trên máy tính của mình, thông báo lỗi: " hệ thống đang chạy ở chế độ đồ họa thấp " và tôi đã thử một số lệnh tôi đã tìm kiếm từ internet.

Tôi phát hiện ra một vấn đề dường như không có dung lượng đĩa trống. Tôi đã sử dụng lệnh " df " và " du " để kiểm tra, kết quả như sau:

du -j --max-depth=1
23G  ./home
3.3G ./usr 
...... 
28G

df -Th 
filesystem   Type   size    used   available   use%    mounted on 
/dev/sda5    ext4   68G     68G    0           100%    /

Làm thế nào tôi có thể dọn sạch hệ thống để có thêm không gian đĩa?


Câu hỏi trong tiêu đề và ở phần cuối của câu hỏi khá khác nhau. Một số câu trả lời có liên quan đến một câu hỏi, một số khác. Bạn nên làm rõ nhu cầu thực tế của bạn và có thể chấp nhận một câu trả lời, quá.
Melebius

Câu trả lời:


50

Rất có thể bạn biết rằng bạn có thể xóa một tệp vẫn được sử dụng bởi một số ứng dụng và đối với ứng dụng này, nó vẫn có sẵn. Nó bởi vì mô tả tập tin trong / Proc / filesystem được giữ mở.

Vì vậy, nếu có các mô tả mở như vậy cho các tệp đã bị xóa, không gian bị chiếm dụng được coi là được sử dụng bởi df(và dflà đúng), nhưng chúng không thể được tính đến dudo không còn tên tệp được liên kết với chúng.

Bạn có thể tìm thấy tất cả các tệp chưa được liên kết nhưng được giữ bằng:

# lsof | grep '(deleted)'

7
Điều này chỉ cứu tôi. Không biết tại sao đĩa của tôi đã đầy, nhưng du nói nó trống. Một tệp xử lý mở cho tệp 8GB
Cheyne

5
Làm thế nào tôi có thể xóa các liên kết?
Vikas Hardia

1
Đôi khi bạn cần thực thi điều này với quyền root để xem các tệp bị xóa được giữ bởi các quá trình của người dùng khác.
Envek

1
Nguyên nhân sâu xa của việc này đối với tôi cuối cùng là do thông số tệp nhật ký không chính xác trong một trong các /etc/logrotate.dtệp của tôi . Mục xấu đã thiếu một thói quen postrotate, điều này khiến cho quá trình trình nền của tôi không thể thoát khỏi các tệp được xoay / xóa.
Dale Anderson

Làm thế nào tôi có thể loại bỏ những tập tin không liên kết nhưng mở?
zx1986

14

Làm thế nào tôi có thể xóa các liên kết? - Vikas Hardia ngày 22 tháng 8 năm 14 lúc 5:46

Bạn phải tìm quá trình giữ tập tin xử lý. Sử dụng lệnh của Dmitry Alexandrov, ở đó bạn thấy quá trình và pid. Trong trường hợp của chúng tôi và tệp nhật ký véc ni "cũ" là kẻ giết không gian.

# lsof | grep '(deleted)'
[...]
varnishlo 13978       varnishlog    3w      REG              252,1 318448027646    5926973 /var/log/varnish/varnish.log.1 (deleted)
apache2   16801         www-data    2w      REG              252,1        64550   13110120 /var/log/apache2/error.log.1 (deleted)
[...]
# service varnishlog stop
[or if there is no service script]
# kill -11 13978 (the second number of the lsof command is the pid)
[or may be] 
# kill -9 13978

Đừng quên khởi động dịch vụ hoặc xử lý lại nếu đó là yêu quái hoặc một số dịch vụ khác trên máy tính của bạn. Nếu bạn có thể, chỉ cần khởi động lại máy tính;)


9

Ok, hãy kiểm tra các trang man:

df - báo cáo sử dụng không gian đĩa hệ thống tập tin

du - ước tính không gian sử dụng tập tin

Hai công cụ này có nghĩa là cho đề xuất khác nhau. Trong khi dflà để hiển thị việc sử dụng hệ thống tệp, dulà để báo cáo việc sử dụng không gian tệp. duhoạt động từ các tệp trong khi dfhoạt động ở cấp hệ thống tệp, báo cáo những gì kernel nói nó có sẵn. Tiếp tục đọc các dutrang hỗ trợ này:

Tóm tắt việc sử dụng đĩa của từng TẬP TIN , đệ quy cho các thư mục.

Nó nói duhoạt động với các tập tin.

dfhiển thị lượng không gian đĩa có sẵn trên hệ thống tệp chứa từng đối số tên tệp. Nếu không có tên tệp nào được cung cấp, không gian có sẵn trên tất cả các hệ thống tệp hiện được gắn sẽ được hiển thị.

ở đây nói rằng dfkhông quan tâm đến các tập tin mà là chính hệ thống tập tin.


du cách sử dụng có thể được sửa đổi với ký tự -x, để bảo nó chỉ đếm các tệp trên hệ thống tệp đã cho.
macetway

1

Nói đơn giản:

Bạn đã chạy dumà không có quyền root. Vì vậy, nó không có khả năng kiểm tra không gian có sẵn trong /proc, /mnt, vv, thư mục.

df cho thấy tổng số không gian sử dụng và miễn phí tương ứng.

Vì vậy, khi bạn kiểm tra hệ thống tập tin gốc của Linux, hãy xem dubáo cáo là cuối cùng.


0
df

Tóm tắt dung lượng đĩa trống

Nó hiển thị số lượng không gian đĩa có sẵn.

du

Tóm tắt việc sử dụng đĩa.

Nó hiển thị dung lượng đĩa được sử dụng.


có, nhưng trong kết quả của "df -Th", nó cho thấy 68G được sử dụng. Sáng nay khi tôi cố gắng truy cập hệ thống Ubuntu, nó vẫn đưa ra thông báo "hệ thống đang chạy ở chế độ đồ họa thấp", nhưng khi tôi kiểm tra mức sử dụng bộ nhớ, các lệnh "df" và "du" cho thấy kết quả hợp lý. Nhưng vấn đề với "chế độ đồ họa thấp" là gì?
2068965

Hãy xem cái này .
Mitch

0

không có gì khó hiểu lắm: Đây là cái nhìn: =

1) du == Sử dụng đĩa
Bao nhiêu dung lượng đĩa đang được sử dụng bởi các tệp này?

2) df == Đĩa miễn phí
Chúng ta có bao nhiêu dung lượng đĩa trống?

Ngoài ra, đối với hệ thống đang chạy ở chế độ đồ họa thấp ' ở đây '


0

tôi đã làm
sudo du -hxa / | egrep '^[[:digit:]]{1,1}G[[:space:]]*'

Nó chính xác chiếm sự khác biệt lớn của 21GB mà tôi đã thấy!
Các tập tin trong câu hỏi là / trao đổi tập tin nếu 21GB !!

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.