Sự nhầm lẫn khi sử dụng ổ đĩa: Mất 10G trên phân vùng nhà Linux trên SSD


15

Linux Mint cho tôi biết, tôi chỉ có dung lượng đĩa trống miễn phí 622 MB nhưng sẽ còn một vài gigabyte.

Nhìn vào các phân vùng tôi được bảo rằng có khoảng mười gigabyte chưa được sử dụng. Tôi đã giải quyết vấn đề và không tìm ra giải pháp nhưng tôi đã tìm thấy gợi ý rằng tôi nên kiểm tra việc sử dụng đĩa df -h.

sudo df -h /home
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p8  189G  178G  622M 100% /home

Đầu ra không có ý nghĩa gì với tôi: Sự khác biệt giữa SizeUsedlà 11 GB, nhưng nó chỉ hiển thị 622Mlà Có sẵn.

SSD không cũ, vì vậy tôi không mong đợi sự khác biệt như vậy.

Tôi nên làm gì?


3
như @Kusalananda đã nhận xét, bạn không nên đặt câu hỏi tại sao bạn không nhận được 10GB đó (mà tôi hy vọng tôi đã giải quyết chính xác trong câu trả lời của mình), nhưng cũng là lý do tại sao bạn sử dụng hầu hết không gian trong / nhà. Nếu bạn biết lý do tại sao (ví dụ: lưu trữ nhiều tệp phương tiện, v.v.) thì tốt, nếu bạn không, bạn nên lo lắng về điều đó, với khả năng làm sạch có thể giúp tiết kiệm hơn 10 GB không gian. Vậy nó sẽ là gì?
AB

Nhìn vào các phân vùng Tôi được thông báo rằng có khoảng mười gigabyte chưa được sử dụng. Bạn - bạn đã nói điều này ở đâu?
ctrl-alt-delor

2
@ ctrl-alt-delor từ dfđầu ra của - Kích thước: 189G, Được sử dụng: 178G
billyjmc

@ ctrl-alt delor, tôi đã nhận được con số 10GB từ gparted - và sau đó là 11G từ đầu ra của df, vì billyjmc đã suy ra chính xác.
tobiornottobi

Câu trả lời:


22

Nếu hệ thống tập tin là ext4, có các khối dành riêng, chủ yếu là để giúp xử lý và giúp tránh phân mảnh và chỉ có sẵn cho người dùng root. Đối với cài đặt này, nó có thể được thay đổi trực tiếp bằng Tune2fs (không phải tất cả các cài đặt có thể được xử lý như thế này khi hệ thống tập tin được gắn kết):

-m dành riêng khối-phần trăm

Đặt tỷ lệ phần trăm của hệ thống tệp chỉ có thể được phân bổ bởi các quy trình đặc quyền. Việc bảo lưu một số khối hệ thống tệp để sử dụng bởi các quy trình đặc quyền được thực hiện để tránh phân mảnh hệ thống tệp và để cho phép các trình nền hệ thống, như syslogd (8), tiếp tục hoạt động chính xác sau khi các quy trình không đặc quyền bị ngăn không cho ghi vào hệ thống tệp. Thông thường, tỷ lệ phần trăm mặc định của các khối dành riêng là 5%.

Vì vậy, nếu bạn muốn hạ mức đặt phòng xuống 1% (~ 2GB), do đó, có quyền truy cập vào ~ 8GB không còn dung lượng dành riêng, bạn có thể thực hiện việc này:

sudo tune2fs -m 1 /dev/nvme0n1p8

Lưu ý: -mtùy chọn thực sự chấp nhận một số thập phân làm tham số. Bạn chỉ có thể sử dụng -m 0.1để dự trữ khoảng ~ 200 MB (và truy cập hầu hết những người trước đây không có 10GB). Bạn cũng có thể sử dụng -rtùy chọn thay thế để dự trữ trực tiếp theo khối. Có lẽ không nên có 0 khối dành riêng.


3
Người dùng không "lấy lại" 8 GB. Họ đang nhận thêm 8 GB để chi tiêu. Sẽ tốt hơn nếu theo dõi những gì sử dụng hết dung lượng đĩa và sau đó có thể dọn sạch phần đó, nếu phù hợp hoặc di chuyển nó đi nơi khác hoặc phát triển phân vùng.
Kusalananda

1
@Kusalananda Tôi sẽ thay đổi từ vựng. Về việc sử dụng, tôi cần phản hồi của OP. Câu hỏi không bao giờ ám chỉ rằng có mức sử dụng cao chưa biết, chỉ thiếu 10GB.
AB

1
Một câu trả lời rất hay và hữu ích, cảm ơn bạn. 5% dường như khớp với 10 gigabyte còn thiếu rất rõ ràng. Tôi không lo lắng về việc sử dụng quá nhiều dung lượng đĩa, và tôi vẫn có thể phát triển phân vùng của mình. :)
tobiornottobi

4
Câu trả lời của bạn chắc chắn là đúng, nhưng có thể đáng lưu ý rằng giá trị của không gian dành riêng trong trường hợp này không lớn. Đây là /homevà không gian dự trữ cho root không quan trọng bằng các phần khác của hệ thống tệp (ví dụ: để đảm bảo nhật ký hệ thống vẫn có thể được ghi). Ngoài ra, vì đây là ổ SSD, việc ngăn chặn sự phân mảnh có thể không được ưu tiên như trên các đĩa kim loại quay.
marcelm

@marcelm Điều đó có ý nghĩa với tôi. Nhưng nó vẫn hữu ích trên phân vùng / nhà trên SSD hay chỉ là lãng phí không gian? Bạn có đề nghị giảm không gian dành riêng gốc xuống 1% không?
tobiornottobi

8

Các tệp đã xóa cũng có thể góp phần vào "không gian bị thiếu"

lsof | grep deleted | grep /home

trả lại đầu ra này cho tôi

chrome    11181           criggie   15u      REG              254,0   
4194304  50651663 /home/criggie/.config/google-chrome/BrowserMetrics/BrowserMetrics-5D0236AF-2BAD.pma (deleted)

Điều đó cho thấy Chrome đang chạy như PID 11181 đã mở tệp BrowserMetrics sau đó xóa nó và vẫn mở tệp. Điều này có nghĩa là tệp vô hình trong danh sách thư mục, nhưng vẫn chiếm dung lượng đĩa.

Tại sao các chương trình làm điều này? Khi nhị phân đang chạy chấm dứt, HĐH sẽ giải phóng tay cầm tệp đang mở và tệp trên đĩa sẽ biến mất, không có nguy cơ để lại tệp tạm thời cũ.

Những gì tôi không thể thấy là mức độ sử dụng đĩa của tệp đó lớn như thế nào.


2
Hầu hết các chương trình được viết tốt không nên làm điều này. Đó là một lỗi và cần được báo cáo, chỉ là hầu hết các lỗi tối nghĩa này không thực sự xuất hiện cho đến khi bạn đang trong giai đoạn tối ưu hóa, và nếu đó là một lỗi thì nó thậm chí có thể không thực sự được phát hiện trong quá trình thử nghiệm. Lưu ý rằng có thể có một lý do cụ thể tại sao họ đang làm điều này, có thể có một lý do mà tôi không biết ở đây để giữ cho tay cầm mở lâu như vậy.
Mã say rượu Khỉ

4
@DrunkenCodeMonkey Dude - Chrome của nó ... bạn hoàn toàn chính xác.
Criggie

4
@DrunkenCodeMonkey, rất nhiều chương trình được viết tốt làm điều này. Mẫu mở-xóa-đóng để tạo tệp tạm thời trên * nix là gần như phổ biến, vì nó đảm bảo tệp sẽ bị xóa khi chương trình thoát, bất kể nó thoát ra như thế nào : chấm dứt bình thường, bị sập, bị giết do hết bộ nhớ, bị giết do mất điện, v.v.
Đánh dấu

3
@DrunkenCodeMonkey vậy, nếu chương trình không bao giờ được thực hiện với nó thì sao?
rẽ trái

3
@DrunkenCodeMonkey: Các mô hình là mở delete- việc -close. Nếu chương trình vẫn đang làm gì đó với nội dung của tệp tạm thời (ví dụ: sử dụng nó làm bộ đệm trên đĩa hoặc ghi dữ liệu từ xa vào nó), thì tất nhiên nó phải giữ cho nó mở. (Tất nhiên, cũng có thể đây thực sự là một tệp xử lý chưa được tiết lộ rõ ​​ràng rằng chương trình nên đã đóng nhưng không. Nhưng chỉ có một tệp như vậy và không có dấu hiệu rõ ràng nào khác về rò rỉ tài nguyên, Tôi sẽ bắt đầu với giả định rằng tập tin có thể đang được mở nhằm mục đích.)
Ilmari Karonen
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.