vấn đề không gian đĩa ext3


3

Tôi đã hết dung lượng đĩa vào ngày khác (khá phổ biến trên máy tính cụ thể này). Như thường lệ, tôi bắt đầu xóa các tập tin và thư mục để khôi phục một chút dung lượng.

Tuy nhiên lần này hệ thống tập tin vẫn báo cáo rằng tôi không có bất kỳ dung lượng đĩa trống nào.

Đây là những gì df báo cáo:

replicant:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md1              687G  672G     0 100% /
tmpfs                 250M     0  250M   0% /lib/init/rw
udev                   10M  716K  9.4M   7% /dev
tmpfs                 250M     0  250M   0% /dev/shm
overflow              1.0M  1.0M     0 100% /tmp

Nếu tôi tính toán đúng, tôi sẽ có sẵn khoảng 15 GB /. bất cứ ai có thể giải thích điều này với tôi? Nó không chỉ dftính toán điều này không chính xác bởi vì tôi không thể tạo tệp hoặc bất cứ thứ gì trên hệ thống tệp.

Tôi đang chạy ext3 trên Debian 5.0.

Câu trả lời:


4

Hệ thống tập tin của bạn có không gian dành riêng chỉ dành cho rootngười dùng sử dụng. Điều này khá chuẩn trên các hệ thống Unix / Linux, trong đó các tệp nhật ký và các tệp khác được yêu cầu để cho phép hệ thống chạy được sở hữu bởi rootngười dùng.

Bạn có thể sử dụng tune2fscông cụ để truy vấn hoặc điều chỉnh lượng không gian dành cho root.

Chạy:

tune2fs -l /dev/md1

Để xem các tham số hiện tại, hãy tìm một dòng như:

Reserved block count: XXXX

Điều này sẽ cho bạn biết có bao nhiêu khối được dành riêng. Lấy giá trị này và nhân với giá trị trên Block size: YYYYdòng để xem lượng không gian dành riêng tính bằng byte.

Bạn có thể điều chỉnh lượng không gian dành riêng với:

tune2fs -m 2 /dev/md1

Để đặt không gian dành riêng thành 2%. Mặc định là 5%. Các lệnh này phải được thực thi dưới rootdạng thông qua rootđăng nhập qua sudo.

LƯU Ý: Cẩn thận khi sử dụng lệnh này, vì sử dụng không đúng cách có thể làm hỏng hệ thống tệp của bạn!


Wow, bây giờ tôi đã có một số không gian trở lại nhưng không phải tất cả. Điều đó có nghĩa là gì? Có quá trình nào đó đang chiếm không gian trên hdd của tôi?
Fred Asp

Nếu bạn đã sử dụng tune2fs -m 2 /dev/md1lệnh, điều đó chỉ có nghĩa là vẫn còn 2%khoảng trống trên đĩa của bạn dành riêng root. Vì bạn không có /varphân vùng độc lập , tôi không khuyên bạn nên đi dưới giá trị này vì hệ thống của bạn cần có thể ghi vào /varđể ghi nhật ký và các mục đích khác - do đó là không gian dành riêng.
Mike Insch

Làm thế nào tôi nên giải thích tình huống của tôi? Đó là hệ thống có 14GB dành riêng? Âm thanh rất nhiều với tôi. Có phải một số chương trình ở đâu đó có tệp rất lớn? Có điều gì khác tôi có thể làm để xem vấn đề thực sự là gì không?
Fred Asp

1
Có, hệ thống của bạn có 13.74GBkhông gian dành riêng ( 2%của 687GB). Đây không phải là một lỗi với hệ thống, nó là do thiết kế và hoàn toàn có chủ ý. Bạn có thể thoát khỏi tune2fs -m 1 /dev/md1, điều này sẽ giảm chi phí này xuống 6.87GB, nhưng đó là mức tối thiểu. Điều rất quan trọng là bạn không đặt không gian dành riêng về 0, vì điều này sẽ dẫn đến hỏng hệ thống tệp được bảo đảm vào lần tới khi bạn hết dung lượng đĩa.
Mike Insch

Cảm ơn bạn cả một loạt cho những câu trả lời. Tôi có thể nói, tôi cần nghiên cứu thêm về chủ đề này.
Fred Asp

1

Hai lý do có thể khác mà không có không gian đã được giải phóng:

  • Các tập tin bạn đã xóa vẫn được mở bởi một số chương trình. Miễn là chương trình có tệp mở (mô tả), tệp không thực sự bị xóa (mặc dù nó không còn khả dụng đối với các chương trình mới).
  • Không gian ngay lập tức được lấp đầy bởi các tệp khác, ví dụ: logfiles trong / var / log do một quá trình tạo ra nhiều thông báo, ví dụ như lỗi đầu ra hoặc lỗi.

Vâng, trên ans đầu tiên. Tôi đã khởi động lại máy tính một vài lần để loại trừ nó. Trên ans thứ hai. df vẫn đang báo cáo: size = 687GB, Được sử dụng = 672GB và avail = 0, tôi thấy những gì bạn đang câu cá (một số thứ tầm thường) và tôi nghĩ vậy. Nhưng tôi không thể thấy bất kỳ vấn đề.
Fred Asp

1

Bạn phải xem những gì chiếm không gian trên phân vùng gốc. Bước đầu tiên sẽ là:

cd /
du -sk * |sort -n

Điều này giúp bạn xác định các thư mục lớn nhất (có thể / nhà hoặc / var). Sau đó lặp lại ở trên cho các thư mục lớn nhất. Nếu bạn loại bỏ một cái gì đó, bạn nên so sánh việc sử dụng đĩa trước và sau, bởi vì một số chương trình có thể có tệp được mở. Nếu nghi ngờ, bạn có thể sử dụng lsof để kiểm tra. Nếu không gian của bạn bị chiếm bởi các tệp nhật ký, thì bạn nên sửa lại /etc/logrotate.conf và chạy '/ usr / sbin / logrotate /etc/logrotate.conf'. Điều này sẽ chăm sóc các chương trình có thể có tệp nhật ký được mở.

Nếu những điều trên không có ích. Khởi động vào chế độ người dùng đơn và chạy fsck, có thể có lỗi hệ thống tệp.


0

Nghe có vẻ khá ngu ngốc, nhưng bạn đã chắc chắn rằng bạn đã dọn sạch thùng rác của mình chưa?

Đôi khi, khi bạn xóa các tệp, HĐH sẽ lưu trữ chúng vào thùng rác của bạn trong trường hợp bạn vô tình xóa tệp và chỉ thực sự xóa chúng sau khi bạn đã nói với nó để làm sạch Thùng rác.

Hãy thử chạy fsck để đảm bảo rằng ổ đĩa không bị hỏng. Bạn có thể đang chiếm tất cả không gian với các tệp bị mất + tìm thấy bị hỏng.


Tôi sử dụng lệnh rm để xóa các tập tin. Theo như tôi biết, nó sẽ loại bỏ các tập tin / thư mục trực tiếp vĩnh viễn.
Fred Asp

Xem chỉnh sửa ở trên! ^
akseli
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.