Hướng dẫn · Máy chủ Linux

Ổ đĩa máy chủ Linux đầy:tìm thứ đang chiếm dung lượng

Ổ đĩa đầy thường có một hoặc hai nguyên nhân rõ ràng. Hãy kiểm tra từ trên xuống, xem kỹ trước khi xóa, và đừng bao giờ xóa thủ công các tệp trong /var/lib trừ khi bạn biết dịch vụ nào sở hữu chúng.

← Tất cả hướng dẫn

1. Xác định hệ thống tệp nào đã đầy

Chạy df -h. Xem cột Use% và cột Mounted on: hệ thống tệp đầy có thể là / hoặc một điểm gắn riêng như /var, /home hay /data, và dọn nhầm nơi thì không thay đổi được gì.

Hãy chạy thêm df -i. Một hệ thống tệp có thể còn dung lượng trống nhưng hết inode trống, điều này xảy ra khi hàng triệu tệp nhỏ tích tụ lại (phiên làm việc, hàng đợi thư, tệp bộ nhớ đệm). Nếu IUse% gần 100%, bạn cần tìm nhiều tệp nhỏ chứ không phải vài tệp lớn.

2. Tìm các thư mục lớn nhất

Chạy sudo du -xh --max-depth=1 / | sort -h và đọc các dòng cuối cùng. Tùy chọn -x giúp chỉ xét một hệ thống tệp, nên các ổ đĩa đã gắn và hệ thống tệp ảo không làm sai lệch kết quả. Lặp lại bên trong thư mục lớn nhất, ví dụ sudo du -xh --max-depth=1 /var | sort -h.

Nếu đã cài ncdu (sudo apt install ncdu trên Debian và Ubuntu), sudo ncdu -x / cho phép bạn duyệt cùng dữ liệu đó một cách tương tác.

3. Kiểm tra các tệp đã xóa nhưng vẫn đang mở

Nếu du hiển thị ít hơn nhiều so với df, có thể một tiến trình vẫn đang giữ mở một tệp đã xóa, thường là một tệp nhật ký lớn. sudo lsof +L1 liệt kê các tệp đang mở có số liên kết bằng không. Dung lượng sẽ được trả lại khi tiến trình đó đóng tệp, thường nghĩa là khởi động lại dịch vụ sở hữu nó. Hãy làm việc này lúc ít tải, đừng làm giữa giờ cao điểm yêu cầu.

4. Xem lại những thủ phạm thường gặp

Nhật ký: xem trong /var/log và kiểm tra journal bằng journalctl --disk-usage. Nếu dung lượng lớn, hãy xem hướng dẫn của chúng tôi về giới hạn kích thước journald.

Gói: sudo apt clean xóa các tệp gói đã tải xuống; sudo apt autoremove liệt kê các gói và nhân cũ không còn cần thiết, đồng thời hiển thị những gì sẽ bị xóa trước khi bạn xác nhận. Hãy giữ lại nhân đang chạy và một phiên bản trước đó.

Docker: docker system df hiển thị image, container, volume và bộ nhớ đệm build. docker system prune xóa các container đã dừng, mạng không dùng và image treo; lệnh này không xóa volume trừ khi bạn thêm --volumes, nên hãy đọc kỹ lời nhắc trước khi trả lời.

Snap: snap list --all hiển thị các bản revision cũ của snap đã bị vô hiệu hóa, có thể xóa từng bản một bằng snap remove NAME --revision=NUMBER.

5. Sau khi giải phóng dung lượng

Chạy lại df -h và kiểm tra xem các dịch vụ đã dừng do ổ đĩa đầy có đang chạy không (systemctl --failed). Cơ sở dữ liệu từng gặp tình trạng ổ đĩa đầy có thể cần khởi động lại hoặc kiểm tra trước khi bạn tin tưởng nó.

Sau đó hãy đặt giới hạn để sự cố không lặp lại: xoay vòng nhật ký, giới hạn journald và cảnh báo trước khi ổ đĩa đạt 90%.

Want a clearer view of storage and maintenance across your Linux servers?RainServer combines a lightweight agent with a cloud dashboard for VPS monitoring and maintenance.Try RainServer free for 7 days →  ·  All guides →

Cập nhật lần cuối: 2026-10-03

Câu hỏi nhanh

Đọc tiếp

Tải xuống

Hãy thử trên chính máy của bạn.

Miễn phí, không cần tài khoản, không cần đăng ký. Windows 10 và 11.