- 1 1. Kiến thức tiên quyết: Cấu trúc Lưu trữ và Gắn kết trong Linux/Ubuntu
- 2 2. Các Lệnh Cơ bản để Kiểm tra Dung lượng
- 3 3. Kiểm tra sử dụng đĩa bằng giao diện đồ họa (Ubuntu Desktop)
- 4 4. Các Bước Điều Tra và Khắc Phục Không Gian Đĩa Thấp
- 4.1 4.1 Nhận Biết Các Triệu Chứng Không Gian Thấp
- 4.2 4.2 Bước 1: Lấy Tổng Quan Về Việc Sử Dụng (df)
- 4.3 4.3 Bước 2: Tìm Các Thư Mục Tiêu Tốn Không Gian (du)
- 4.4 4.4 Bước 3: Xóa Các Tệp Và Bộ Đệm Không Cần Thiết
- 4.5 4.5 Bước 4: Giảm Bớt Sự Phình To Từ Ứng Dụng Và Nhật Ký
- 4.6 4.6 Bước 5: Giải quyết cơ bản bằng cách thay đổi kích thước hoặc thêm đĩa
- 4.7 4.7 Kiểm tra định kỳ để ngăn chặn tái phát
- 4.8 4.8 Tóm tắt: Ưu tiên các biện pháp tiết kiệm không gian
- 5 5. Mẹo nâng cao (Mẹo hữu ích & Lưu ý)
- 5.1 5.1 Tự động hóa kiểm tra đĩa định kỳ
- 5.2 5.2 One-liner để tìm file lớn
- 5.3 5.3 Alias các lệnh thường dùng
- 5.4 5.4 Liên tục giám sát thay đổi sử dụng đĩa (monitoring)
- 5.5 5. Cẩn thận với rào cản quyền
- 5.6 5.6 Các cân nhắc cho môi trường SSD/HDD
- 5.7 5.7 Hệ thống hoá quản lý dung lượng để ngăn ngừa tái diễn
- 5.8 Tóm tắt
- 6 6. CÂU HỎI THƯỜNG GẶP (FAQ)
- 6.1 Q1. Cách đơn giản để kiểm tra không gian trống hiện tại trên Ubuntu là gì?
- 6.2 Q2. Làm sao để kiểm tra dung lượng sử dụng đĩa theo thư mục?
- 6.3 Q3. Sự khác nhau giữa df và du là gì?
- 6.4 Q4. Làm sao để kiểm tra không gian trống qua giao diện GUI?
- 6.5 Q5. Nếu tôi nhận được cảnh báo “đĩa đầy”, nên xóa gì trước tiên?
- 6.6 Q6. Tôi nghe nói ứng dụng Snap có thể làm phồng dung lượng đĩa. Tôi có thể làm gì?
- 6.7 Q7. Tôi nên làm gì khi /var hoặc /home quá lớn?
- 6.8 Q8. Chạy du mất nhiều thời gian. Có cách nào để tăng tốc không?
- 6.9 Q9. Làm thế nào để tránh hết không gian lần nữa?
- 6.10 Q10. Các lựa chọn của tôi để mở rộng lưu trữ là gì?
- 6.11 Q11. Tôi có thể kiểm tra sử dụng đĩa mà không cần quyền root không?
- 6.12 Q12. Làm thế nào để kiểm tra lưu trữ trên hệ thống không đầu (server)?
- 6.13 Q13. Có rủi ro làm hỏng hệ thống khi kiểm tra lưu trữ không?
- 6.14 Q14. Có mẹo ẩn nào để tiết kiệm không gian không?
- 6.15 Q15. Các công cụ được khuyến nghị để giám sát sử dụng đĩa?
- 6.16 Tóm tắt
1. Kiến thức tiên quyết: Cấu trúc Lưu trữ và Gắn kết trong Linux/Ubuntu
Khi kiểm tra dung lượng lưu trữ trên Ubuntu (và hầu hết các hệ điều hành dựa trên Linux), có một số cấu trúc cơ bản mà bạn cần hiểu đúng. Phần này tổ chức các khái niệm thường gây nhầm lẫn:
- Ý nghĩa của thiết bị và phân vùng
- Gắn kết và điểm gắn kết
- Cơ bản về LVM (Logical Volume Management)
- Cấu hình điển hình của Ubuntu
Chúng ta sẽ đi qua từng điểm một cách từng bước.
1.1 Cơ bản về Thiết bị và Phân vùng
Thiết bị (Ổ đĩa Vật lý & Logic)
Trong Linux, mỗi thiết bị lưu trữ được coi là một tệp thiết bị. Ví dụ, HDD, SSD, ổ USB, v.v., xuất hiện dưới dạng /dev/sda, /dev/sdb, /dev/nvme0n1, và tương tự.
Chữ cái cuối cùng (a, b, c…) chỉ thứ tự mà hệ thống phát hiện các thiết bị.
Phân vùng
Một thiết bị vật lý đơn lẻ có thể được sử dụng nguyên vẹn, nhưng thường thì nó được chia thành nhiều phần logic (phân vùng). Phân vùng cho phép bạn tách biệt hệ điều hành, dữ liệu, nhật ký, v.v., để dễ quản lý hơn.
Ví dụ, /dev/sda1, /dev/sda2 chỉ phân vùng đầu tiên và thứ hai trên thiết bị sda. Một hệ thống tệp được tạo trên mỗi phân vùng, và dữ liệu thực tế được lưu trữ ở đó.
(Giải thích ví dụ về phân vùng trong Linux) Engineer’s Entrance
Phân vùng sử dụng định dạng bảng phân vùng như MBR (cũ) hoặc GPT (mới), mỗi loại có các ràng buộc và ưu điểm riêng.
1.2 Gắn kết và Điểm gắn kết
Gắn kết
Để làm cho một hệ thống tệp có thể sử dụng được, bạn phải gắn kết nó—tức là, liên kết một phân vùng (hoặc khối lượng logic) với một thư mục cụ thể (điểm gắn kết). Không có gắn kết, bạn không thể truy cập dữ liệu trên phân vùng đó.
Ví dụ, ngay cả khi /dev/sda1 chứa hệ thống tệp ext4, bạn phải chạy mount /dev/sda1 /mnt/data trước khi có thể làm việc dưới /mnt/data.
Điểm gắn kết
Thư mục nơi bạn gắn kết một hệ thống tệp được gọi là điểm gắn kết. Các ví dụ điển hình:
/– gốc, điểm bắt đầu của toàn bộ hệ thống/home– thư mục chính của người dùng/var– nhật ký, bộ đệm, dữ liệu biến đổi/boot– các tệp liên quan đến khởi động
Việc gán các phân vùng khác nhau cho các điểm gắn kết khác nhau là một thực hành phổ biến.
Trong Ubuntu và hầu hết các hệ điều hành Linux, tệp /etc/fstab liệt kê “thiết bị/UUID nào được gắn kết ở đâu (tự động khi khởi động).”
1.3 Tổng quan về LVM (Logical Volume Management)
Phân vùng thuần túy có thể làm cho các thay đổi sau này trở nên khó khăn. LVM (Logical Volume Manager) giải quyết vấn đề này.
Các Thành phần Cốt lõi của LVM
- Physical Volume (PV) – một ổ đĩa vật lý hoặc phân vùng.
- Volume Group (VG) – tổng hợp nhiều PV thành một hồ chứa lớn duy nhất.
- Logical Volume (LV) – một phần được lấy từ VG; một hệ thống tệp được tạo trên LV.
Cấu trúc phân cấp này cho phép bạn mở rộng hoặc thu nhỏ các khối lượng logic sau này, hoặc thêm nhiều ổ đĩa vật lý hơn vào hồ chứa.
Lợi ích & Lưu ý của LVM
Lợi ích
- Thay đổi kích thước linh hoạt
- Kết hợp nhiều ổ đĩa thành một hồ chứa
- Dễ dàng tạo ảnh chụp nhanh cho sao lưu
Lưu ý
- Phức tạp hơn để cấu hình và vận hành
- Rủi ro mất dữ liệu nếu xử lý sai
- Các bước mở rộng khác với thiết lập không dùng LVM
Trình cài đặt của Ubuntu thường cung cấp tùy chọn LVM, nhưng nhiều người dùng chọn không sử dụng tùy theo nhu cầu của họ.
1.4 Cấu hình Điển hình của Ubuntu
Bố cục chính xác có thể khác nhau, nhưng các mẫu phổ biến bao gồm:
Bố cục Phân vùng Đơn (Đơn giản)
Tất cả các tệp đều nằm dưới gốc (/). Đơn giản hơn, nhưng việc chia tách hoặc mở rộng sau này có thể khó khăn.
Ví dụ Bố cục Chia tách
/– tệp hệ thống/home– dữ liệu người dùng/var– nhật ký và dữ liệu biến đổi/boot– tệp bộ tải khởi động- Swap (phân vùng swap hoặc tệp swap)
Việc tách biệt những thứ này giúp ngăn chặn sự tăng trưởng của nhật ký hoặc bộ đệm làm đầy toàn bộ hệ thống.
LVM + Khối lượng Logic
Một thiết lập nâng cao hơn:
- Ổ đĩa vật lý → PV
- Nhiều PV → VG
/,/home,/var, v.v. → các LV riêng biệt- Thêm hoặc mở rộng LV sau này theo nhu cầu
Với LVM, bạn có thể thêm ổ đĩa hoặc mở rộng các khối lượng logic một cách linh hoạt.
2. Các Lệnh Cơ bản để Kiểm tra Dung lượng
Trên Ubuntu, việc sử dụng dòng lệnh là cách đáng tin cậy và linh hoạt nhất để kiểm tra việc sử dụng đĩa. Ngay cả trên các máy chủ không có giao diện (headless), bạn vẫn có thể xem chính xác các đĩa nào đang được dùng và các thư mục nào đang chiếm không gian.
Dưới đây là các lệnh df và du cốt lõi, kèm một vài công cụ hỗ trợ.
2.1 Kiểm tra toàn bộ hệ thống tệp bằng df
df làm gì
df (disk free) hiển thị tổng dung lượng, đã dùng và còn lại cho mỗi hệ thống tệp. Đây là cách phổ biến nhất để kiểm tra dung lượng trên Linux.
Cách dùng cơ bản
df -h
Lệnh này liệt kê mọi hệ thống tệp ở đơn vị “đọc‑hiểu” (K, M, G). Các cột chính:
| Column | Meaning |
|---|---|
| Filesystem | Device name (e.g., /dev/sda1) |
| Size | Total size of the filesystem |
| Used | Space already used |
| Avail | Free space remaining |
| Use% | Percentage used |
| Mounted on | Mount point (e.g., /, |
| Option | Description |
|---|---|
-h | Display sizes in MB/GB units (handy for a quick view) |
-T | Also show the filesystem type (e.g., ext4, xfs) |
--total | Append a total line at the end |
df -h /home | Show only the filesystem that contains the specified directory |
Ví dụ
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 100G 55G 40G 59% /
/dev/sda1 512M 120M 392M 24% /boot
tmpfs 16G 32M 16G 1% /run
Từ kết quả này bạn có thể nhìn nhanh được mỗi khu vực đang dùng bao nhiêu không gian.
Ghi chú
- Các phân vùng chưa gắn sẽ không xuất hiện trong kết quả của
df. - Nếu các gói Snap (
/var/lib/snapd/snaps) đang chiếm không gian, bạn sẽ cần kiểm tra chúng riêng. - Một số điểm gắn không hiển thị nếu không có quyền root.
2.2 Kiểm tra mức sử dụng theo thư mục bằng lệnh du
Tổng quan về du
du (disk usage) là lệnh báo cáo kích thước của các thư mục và tệp.
Trong khi df cho bạn “bức tranh tổng thể,” du giúp bạn tìm ra “điểm nóng” là nơi nào.
Cách dùng cơ bản
du -sh /home
Trong ví dụ này, tổng mức sử dụng của thư mục /home được hiển thị ở định dạng “đọc‑hiểu” (-h).
Các tùy chọn thường dùng
| Option | Description |
|---|---|
-s | Show only the total (suppress details) |
-h | Auto‑scale units for readability |
--max-depth=1 | List usage of items directly under the specified directory |
-c | Show a grand total at the end |
--exclude=PATTERN | Exclude specific folders (e.g., caches) |
Ví dụ (so sánh tổng quan)
sudo du -h --max-depth=1 /var
Kết quả mẫu:
1.2G /var/log
2.5G /var/lib
800M /var/cache
4.5G /var
Điều này cho phép bạn nhanh chóng thấy thư mục nào đang chiếm không gian.
Nâng cao: Sắp xếp theo kích thước
Bằng cách kết hợp du với sort, bạn có thể dễ dàng xác định các thư mục lớn.
sudo du -hsx /* | sort -rh | head -10
Lệnh này tính toán mức sử dụng của mỗi thư mục cấp cao nhất và hiển thị 10 mục đầu.
Nó rất hiệu quả để truy tìm “kẻ ăn không gian” trên hệ thống.
Ghi chú
- Cây thư mục sâu có thể mất thời gian để xử lý.
- Nếu không có quyền root, một số thư mục sẽ không báo cáo kích thước chính xác.
- Ngay cả trên SSD nhanh, việc đo hàng chục gigabyte cũng có thể mất vài phút.
2.3 Các lệnh và công cụ hỗ trợ khác
lsblk: Xem bố cục thiết bị khối
lsblk
lsblk hiển thị các thiết bị đĩa và bố cục phân vùng của chúng dưới dạng cây.
Đây là cách tiện lợi để quan sát kích thước kèm với các điểm gắn.
Ví dụ:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 512M 0 part /boot
└─sda2 8:2 0 99.5G 0 part /
ncdu: Trình phân tích sử dụng đĩa tương tác
Nếu bạn muốn giao diện trực quan hơn du, hãy thử ncdu (NCurses Disk Usage).
Cài đặt bằng:
sudo apt install ncdu
Chạy:
sudo ncdu /
Dùng các phím mũi tên để mở rộng và thu gọn thư mục, xem thư mục nào đang chiếm không gian.
Vì nó hoạt động mà không cần GUI, nên rất phổ biến trên máy chủ cũng như máy trạm.
Kết hợp với find
Để chỉ tìm các tệp lớn nhất, dùng find:
sudo find / -type f -size +1G
Lệnh này tìm tất cả các tệp lớn hơn 1 GB, giúp bạn xác định các tệp không cần thiết như log hoặc ảnh máy ảo.
2.4 Nên dùng phương pháp nào? (Bảng so sánh)
| Goal | Example command | Characteristics |
|---|---|---|
| Check overall free space | df -h | Shows usage per filesystem |
| Find size of a specific folder | du -sh /path | Displays detailed size |
| Locate space‑eaters | du -hsx /* | sort -rh | Sorts directories by size |
| View device layout | lsblk | Visualizes partition relationships |
| Find large files | find / -type f -size +1G | Filters by size condition |
3. Kiểm tra sử dụng đĩa bằng giao diện đồ họa (Ubuntu Desktop)
Ubuntu cung cấp các công cụ đồ họa cho phép bạn xem việc sử dụng đĩa mà không cần mở terminal. Dưới đây là hai phương pháp phổ biến.
- Trình quản lý Tệp tích hợp (Nautilus)
- Trình phân tích sử dụng đĩa (Baobab)
Chúng ta sẽ xem tính năng và cách sử dụng từng công cụ.
3.1 Kiểm tra không gian trống bằng Trình quản lý Tệp (Nautilus)
Phương pháp mặc định của Ubuntu
Nếu bạn đang dùng Ubuntu Desktop, cách đơn giản nhất để xem không gian đĩa là mở Trình quản lý Tệp (Nautilus).
- Nhấp vào biểu tượng Tệp trong dock bên trái (bộ khởi chạy ứng dụng).
- Xem thanh trạng thái ở góc trên bên phải hoặc dưới bên trái của cửa sổ.
- Bạn sẽ thấy cái gì đó như “xx GB trong số yy GB đã sử dụng” hoặc “zz GB trống.”
Điều này cung cấp cho bạn cái nhìn ngay lập tức về không gian trống của ổ đĩa hệ thống.
Xem chi tiết qua Thuộc tính
Nhấp chuột phải vào biểu tượng thư mục hoặc ổ đĩa và chọn Thuộc tính.
Hộp thoại hiển thị không gian đã sử dụng và trống cho thư mục cụ thể đó, rất hữu ích để kiểm tra các thư mục như /home hoặc /Downloads.
Ưu và nhược điểm
| Pros | Cons |
|---|---|
| One‑click, very easy | Hidden or system areas are not obvious |
| Beginner‑friendly | Doesn’t reveal /var/log, system partitions, etc. |
Giao diện đồ họa tuyệt vời cho một cái nhìn nhanh về việc sử dụng tổng thể, nhưng để phân tích sâu hơn, bạn sẽ muốn sử dụng Baobab.
3.2 Công cụ Phân tích Sử dụng Đĩa (Baobab)
Baobab là gì?
Baobab (Disk Usage Analyzer) là một tiện ích đồ họa quét hệ thống tệp của bạn và trình bày kết quả dưới dạng treemap tương tác hoặc biểu đồ vòng. Nó cho phép bạn nhanh chóng phát hiện các thư mục và tệp lớn với cái nhìn tổng quan trực quan.
Cài đặt
sudo apt install baobab
Khởi chạy
Bạn có thể khởi động nó từ menu ứng dụng (tìm kiếm “Disk Usage Analyzer”) hoặc chạy:
baobab
Cách sử dụng
- Chọn vị trí để quét (ví dụ: “Home Folder,” “Filesystem,” hoặc đường dẫn tùy chỉnh).
- Sau khi quét hoàn tất, treemap hiển thị mỗi thư mục dưới dạng hình chữ nhật có kích thước tỷ lệ với mức tiêu thụ không gian của nó.
- Di chuột qua hoặc nhấp vào hình chữ nhật để xem kích thước và đường dẫn chính xác.
- Nhấp chuột phải vào thư mục để mở nó trong trình quản lý tệp hoặc xóa trực tiếp.
Vì Baobab hoạt động mà không cần môi trường desktop đầy đủ, nó cũng hữu ích trên các biến thể Ubuntu nhẹ.
Lợi ích
- Biểu diễn trực quan, trực quan về sử dụng đĩa.
- Dễ dàng điều hướng đến những người tiêu thụ không gian lớn nhất.
- Không cần nhớ các tùy chọn dòng lệnh.
Hạn chế
- Quét hệ thống tệp rất lớn có thể mất vài phút.
- Yêu cầu phiên đồ họa (không phù hợp cho máy chủ không đầu).
Baobab (tên chính thức: Disk Usage Analyzer) là một công cụ đồ họa có sẵn mặc định trên Ubuntu hiển thị trực quan lượng không gian mà mỗi thư mục đang sử dụng với biểu đồ tròn và treemap.
Nó được cài đặt mặc định trên hầu hết các hệ thống, nhưng nếu không có, bạn có thể thêm nó bằng:
sudo apt install baobab
Cách Khởi chạy
- Tìm kiếm “Disk Usage” trong Activities (thanh tìm kiếm trên cùng bên trái)
- Nhấp vào Disk Usage Analyzer (Baobab) để khởi động nó
- Sau khi khởi chạy, chọn Scan Folder hoặc Scan Whole Filesystem
Sau một quét ngắn, biểu đồ tròn hoặc chế độ xem cây sẽ hiển thị việc sử dụng của mỗi thư mục một cách trực quan.
Ví dụ Chế độ xem (Hình ảnh)
- Càng đi xa hơn, phân cấp thư mục càng sâu
- Kích thước của mỗi phân đoạn được biểu diễn bởi diện tích của lát cắt biểu đồ tròn
Dấu hiệu trực quan làm cho việc dễ dàng thấy thư mục nào bị phình to chỉ trong một cái nhìn.
Tính năng Chính
| Feature | Description |
|---|---|
| Specify Scan Target | You can limit the scan to a specific directory such as /home |
| Tree View | Browse the folder structure and sizes in a list |
| Identify Unneeded Files | Spot large folders instantly |
| Right‑click → Open | Open the selected directory directly in the file manager |
Lợi ích và Lưu ý
Lợi ích
- Hiển thị đồ họa làm cho nó trực quan đối với người mới bắt đầu
- Giúp quyết định những gì cần xóa hoặc tổ chức lại
- Chạy dưới quyền root cho phép phân tích các phân vùng hệ thống nữa
Lưu ý
- Quét toàn bộ hệ thống có thể mất thời gian
- Hạn chế quyền có thể ngăn đo lường chính xác một số thư mục
- Đĩa lớn có thể tăng sử dụng bộ nhớ trong khi quét
3.3 Kiểm tra Thông tin Đĩa với GNOME Disks
Ubuntu cũng bao gồm ứng dụng tiêu chuẩn GNOME Disks (Disk Utility).
Nó cho phép bạn kiểm tra cấu trúc đĩa chính nó, hiển thị nhiều hơn chỉ không gian trống:
- Tên thiết bị (ví dụ:
/dev/sda) - Loại hệ thống tệp (ext4, NTFS, v.v.)
- Điểm gắn
- Biểu đồ sử dụng
Cách khởi chạy:
- Tìm kiếm “Disks” trong Activities
- Mở GNOME Disks
- Chọn một đĩa từ danh sách bên trái
Một đồng hồ đo trực quan hiển thị việc sử dụng, cung cấp thông tin giống như df dưới dạng đồ họa.
3.4 Khi Nào Sử dụng GUI so với Dòng Lệnh
Trên desktop Ubuntu, các công cụ GUI thường đủ cho quản lý lưu trữ.
Tuy nhiên, đối với khắc phục sự cố chính xác hoặc quản trị máy chủ, các công cụ dòng lệnh như df và du là thiết yếu.
| Situation | Recommended Tool |
|---|---|
| Quick check of free space | File manager (Nautilus) |
| Find large folders | Baobab (Disk Usage Analyzer) |
| Inspect device layout | GNOME Disks |
| Server or remote environment | df, du, lsblk, ncdu |
3.5 Nếu Không Có GUI (Người Dùng Máy Chủ)
Nếu bạn đang chạy Ubuntu Server hoặc môi trường khác không có GUI, Baobab và các trình quản lý tệp không thể sử dụng được.
Trong trường hợp đó, hãy dựa vào các lệnh df, du và ncdu đã được giới thiệu trước đó; chúng cung cấp phân tích lưu trữ chi tiết dựa trên văn bản.
Tóm tắt
Sử dụng GUI cho phép bạn kiểm tra lưu trữ và xác định các điểm cần dọn dẹp chỉ với vài cú nhấp chuột.
Baobab, đặc biệt, là công cụ cơ bản được sử dụng bởi mọi người từ người mới bắt đầu Ubuntu đến người dùng nâng cao.
Bằng cách kết hợp các phương pháp được mô tả trong chương này, việc giám sát lưu trữ hàng ngày sẽ trở nên dễ dàng hơn nhiều.
4. Các Bước Điều Tra và Khắc Phục Không Gian Đĩa Thấp
Theo thời gian, việc sử dụng lâu dài và các bản cập nhật gói tích lũy có thể khiến không gian đĩa trên Ubuntu bị thiếu hụt.
Việc để hệ thống ở trạng thái không gian thấp có thể dẫn đến cập nhật thất bại, thiếu nhật ký và sự không ổn định tổng thể.
Phần này hướng dẫn cách chẩn đoán vấn đề không gian thấp và các cách giải quyết hiệu quả từng bước một.
4.1 Nhận Biết Các Triệu Chứng Không Gian Thấp
Đầu tiên, hãy xác định các dấu hiệu cho thấy lưu trữ đang cạn kiệt. Hãy tìm kiếm:
apt upgradebáo cáo “không đủ không gian trống”- Cảnh báo GUI “không gian đĩa thấp”
- Các ứng dụng không thể lưu cài đặt hoặc ghi nhật ký
/varhoặc/tmpđầy, gây ra hành vi chậm chạp
Khi bạn thấy những điều này, đã đến lúc xác định không gian đang được sử dụng ở đâu, không chỉ để thêm nhiều hơn.

4.2 Bước 1: Lấy Tổng Quan Về Việc Sử Dụng (df)
Bắt đầu với df -h để xem dung lượng tổng thể:
df -h
Kết quả mẫu:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 48G 1.2G 98% /
/dev/sda1 512M 120M 392M 24% /boot
Bất kỳ điểm gắn kết nào có Use% ≥ 90% cần được chú ý, đặc biệt là /, /var hoặc /home.
4.3 Bước 2: Tìm Các Thư Mục Tiêu Tốn Không Gian (du)
Một khi bạn biết phân vùng có vấn đề, hãy đi sâu hơn với du.
Ví Dụ: Hiển Thị 10 Mục Tiêu Tốn Không Gian Hàng Đầu
sudo du -hsx /* | sort -rh | head -10
Kết quả mẫu:
15G /var
10G /home
5.2G /usr
3.1G /snap
Một /var lớn thường chỉ ra nhật ký hoặc bộ đệm; một /home lớn cho thấy dữ liệu người dùng.
Đi Sâu Hơn Bên Trong /var
sudo du -hsx /var/* | sort -rh | head -10
Bằng cách duyệt qua hệ thống phân cấp, bạn có thể xác định chính xác các thư mục đang chiếm dụng không gian.
4.4 Bước 3: Xóa Các Tệp Và Bộ Đệm Không Cần Thiết
Sau khi xác định thủ phạm, hãy bắt đầu dọn dẹp các mục an toàn để xóa.
(1) Dọn Dẹp Bộ Đệm APT
Ubuntu lưu trữ các tệp gói tạm thời trong /var/cache/apt/archives. Việc xóa chúng có thể giải phóng vài gigabyte.
sudo apt clean
sudo apt autoremove
apt clean– xóa tất cả các tệp gói đã lưu trữapt autoremove– xóa các gói không còn cần thiết
(2) Xóa Các Tệp Nhật Ký Cũ
/var/log là nguồn phổ biến gây phình to.
sudo journalctl --vacuum-time=7d
Lệnh trên xóa các nhật ký hệ thống cũ hơn 7 ngày.
Bạn cũng có thể xóa thủ công các tệp .gz (nhật ký nén) không cần thiết.
sudo rm -f /var/log/*.gz
(3) Xóa Các Phiên Bản Gói Snap Cũ
Trên Ubuntu, các phiên bản cũ của ứng dụng Snap được giữ tự động.
Bạn có thể xóa các snap cũ bằng lệnh sau.
sudo snap list --all | grep disabled | awk '{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
Thay vào đó, bạn có thể sử dụng tiện ích loại “Snap Cleaner” đơn giản.
(4) Xóa Bộ Đệm Bản Thu Nhỏ
Nếu bạn làm việc với nhiều hình ảnh hoặc video, một lượng lớn bộ đệm sẽ tích tụ trong ~/.cache/thumbnails.
rm -rf ~/.cache/thumbnails/*
(5) Làm Rỗng Thùng Rác
Các tệp bị xóa qua GUI có thể vẫn tồn tại trong ~/.local/share/Trash/files.
rm -rf ~/.local/share/Trash/*
4.5 Bước 4: Giảm Bớt Sự Phình To Từ Ứng Dụng Và Nhật Ký
(1) Khi Sử Dụng Docker
Khi sử dụng Docker, các hình ảnh và container không cần thiết có thể tiêu tốn không gian.
docker system df
docker system prune -a
docker system df: Kiểm tra việc sử dụng liên quan đến Dockerdocker system prune -a: Xóa các hình ảnh và container không sử dụng
(2) Khi sử dụng Flatpak hoặc Snap nhiều
Trong môi trường có nhiều ứng dụng GUI được cài đặt, các artifact ứng dụng còn sót lại (phiên bản cũ) thường tích tụ.
Dọn dẹp bằng lệnh như flatpak uninstall --unused.
(3) Xem xét cài đặt xoay vòng log
Kiểm tra /etc/logrotate.conf và /etc/logrotate.d/, và đặt khoảng thời gian lưu giữ phù hợp cùng giới hạn kích thước để giúp ngăn chặn tái phát.
4.6 Bước 5: Giải quyết cơ bản bằng cách thay đổi kích thước hoặc thêm đĩa
Nếu chỉ xóa file không đủ, hãy xem xét các thay đổi cấu hình sau.
(1) Khi sử dụng LVM
Trong môi trường có LVM (Logical Volume Manager), các logical volume có thể được mở rộng dễ dàng.
sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
Điều này cho phép bạn tăng dung lượng của /.
(2) Thêm đĩa mới và mount nó
Mount lưu trữ mới tại /mnt/data (hoặc tương tự), và di chuyển các thư mục lớn (ví dụ: /var/lib/docker hoặc /home) đến đó.
(3) Tận dụng lưu trữ đám mây
Di chuyển log và backup đến Google Drive, Dropbox, Nextcloud, v.v., là một lựa chọn khác.
4.7 Kiểm tra định kỳ để ngăn chặn tái phát
Hết dung lượng là vấn đề có thể tránh được bằng giám sát định kỳ.
Việc áp dụng các thực hành sau là hiệu quả.
- Kiểm tra định kỳ
df -hvàdu -sh /var - Tạo script để tự động kiểm tra các thư mục lớn
- Thiết lập thông báo email khi sử dụng vượt ngưỡng (
cron+mailutils, v.v.)
Ví dụ đơn giản:
#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Disk usage on / has exceeded ${THRESHOLD}%!" | mail -s "Disk Alert" admin@example.com
fi
4.8 Tóm tắt: Ưu tiên các biện pháp tiết kiệm không gian
| Priority | Measure | Notes |
|---|---|---|
| ★★★★★ | Delete APT cache (sudo apt clean) | Immediate effect |
| ★★★★☆ | Delete logs (sudo journalctl --vacuum-time=7d) | Safe and reliable |
| ★★★★☆ | Remove unnecessary Snap/Flatpak versions | Effective on desktop environments |
| ★★★☆☆ | Delete unnecessary Docker data | Useful for server use |
| ★★☆☆☆ | Disk expansion / mount addition | Effective as a root solution |
| ★☆☆☆☆ | Implement regular monitoring scripts | Benefits over long‑term operation |
Khi Ubuntu hết dung lượng,
Xác định các yếu tố nặng → Xóa từ các khu vực an toàn → Xem xét cấu hình
Việc tuân theo ba bước này giải quyết hầu hết các vấn đề.
5. Mẹo nâng cao (Mẹo hữu ích & Lưu ý)
Ngay cả sau khi sử dụng các phương pháp trên để kiểm tra và dọn dẹp không gian, đĩa có thể đầy lại theo thời gian.
Dưới đây là một số kỹ thuật nâng cao để giữ Ubuntu chạy mượt mà.
5.1 Tự động hóa kiểm tra đĩa định kỳ
Chạy df hoặc du thủ công là nhàm chán, nhưng script tự động hóa có thể giảm nỗ lực.
Đăng ký một script giám sát đơn giản trong cron để gửi cảnh báo khi sử dụng vượt ngưỡng.
Ví dụ: Script gửi email khi không gian trống giảm dưới 10%
#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Warning: Root disk usage has reached ${USAGE}%." |
mail -s "Ubuntu Disk Warning" user@example.com
fi
Lưu cái này như /usr/local/bin/check_disk.sh và làm cho nó có thể thực thi với chmod +x.
Sau đó đăng ký nó trong crontab -e như thế này:
0 8 * * * /usr/local/bin/check_disk.sh
→ Kiểm tra chạy tự động mỗi sáng lúc 8 giờ.
Điểm hữu ích
- Thông báo cũng có thể được gửi qua Slack Webhook, LINE Notify, v.v.
- Có thể mở rộng để giám sát nhiều điểm mount đồng thời
5.2 One-liner để tìm file lớn
Thường thì thiếu hụt do một vài file khổng lồ.
One-liner sau liệt kê file lớn hơn 1 GB.
sudo find / -type f -size +1G -exec ls -lh {} ; | awk '{print $9 ": " $5}'
/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G
Bằng cách này, bạn có thể nhanh chóng tìm file nên xóa hoặc di chuyển.
Ví dụ: Tìm kiếm chỉ các thư mục cụ thể
sudo find /var -type f -size +500M
→ Hữu ích để tìm file lớn hơn 500 MB dưới /var.
5.3 Alias các lệnh thường dùng
Gõ lệnh dài mỗi lần là nhàm chán, vì vậy thiết lập alias là hiệu quả.
Ví dụ: Thêm vào ~/.bashrc
alias dfh='df -h --total'
alias duh='sudo du -hsx /* | sort -rh | head -10'
alias logs='sudo du -hs /var/log/* | sort -rh | head -10'
Áp dụng sau khi thiết lập:
source ~/.bashrc
Bây giờ,
dfh→ Kiểm tra tổng dung lượngduh→ Xem 10 thư mục lớn nhấtlogs→ Điều tra kích thước log
Bạn có thể thực hiện các thao tác này ngay lập tức.
5.4 Liên tục giám sát thay đổi sử dụng đĩa (monitoring)
Khi chạy Ubuntu lâu dài, bạn có thể gặp phải vấn đề “dung lượng đĩa tăng lên một cách âm thầm.”
Do đó, ghi lại các thay đổi sử dụng đĩa dưới dạng lịch sử là hữu ích.
Ví dụ: Script ghi sử dụng đĩa vào tệp
#!/bin/bash
df -h / | awk 'NR==2 {print strftime("%Y-%m-%d %H:%M:%S"), $3, $4, $5}' >> /var/log/disk_usage.log
Chạy script này một lần mỗi ngày qua cron cho phép bạn theo dõi xu hướng sử dụng đĩa sau này.
Các phương pháp nâng cao hơn
- Cài đặt
collectdhoặcnetdatađể vẽ đồ thị - Sử dụng Prometheus + Grafana để trực quan hoá giám sát
- Khi trên đám mây, tích hợp với AWS CloudWatch hoặc GCP Ops Agent
Bạn có thể giám sát ở mức quản lý vận hành mà không cần dựa vào công cụ GUI.
5. Cẩn thận với rào cản quyền
Khi kiểm tra hoặc xóa dữ liệu sử dụng đĩa, bạn có thể không nhận được kết quả chính xác nếu không có quyền root.
Ví dụ:
du -sh /var
Ngay khi bạn chạy lệnh này, người dùng thường sẽ bị bỏ qua một số thư mục với thông báo “Permission denied,” dẫn đến giá trị thấp hơn so với thực tế.
→ Để kh phục, hãy thêm sudo vào trước hoặc thực hiện với quyền quản trị.
5.6 Các cân nhắc cho môi trường SSD/HDD
Môi trường SSD
- Để tránh ghi không cần thiết, chạy TRIM thường xuyên với
fstrim:sudo systemctl enable fstrim.timerĐiều này cho phép SSD tối ưu hoá các khối đã xóa.
Môi trường HDD
- Log và cache thường bị phân mảnh, vì vậy khởi động lại sau khi xóa các tệp không cần thiết có thể hiệu quả.
- Chạy các lệnh
dunặng I/O tốt nhất nên thực hiện trong thời gian tải thấp, chẳng hạn như vào cuối đêm.
5.7 Hệ thống hoá quản lý dung lượng để ngăn ngừa tái diễn
Cuối cùng, giải pháp tối ưu cho quản lý dung lượng là thói quen và có hệ thống.
Danh sách kiểm tra thực tế
- Thường xuyên kiểm tra
df -h - Kiểm tra sự tăng trưởng của
/var/loghàng tháng - Chạy
apt autoremovehàng tuần - Định kỳ xóa dữ liệu Snap và Docker không cần thiết
- Có một script thông báo tự động
Nếu bạn thực hiện những việc này thường xuyên, hầu hết các vấn đề về dung lượng đĩa có thể được ngăn ngừa.
Tóm tắt
Phần này giới thiệu các kỹ thuật nâng cao để quản lý dung lượng đĩa Ubuntu hiệu quả hơn.
Ba điểm chính là:
- Phát hiện sớm thông qua tự động hoá và thông báo
- Hiệu quả vận hành qua alias và one‑liners
- Quản lý an toàn bằng cách cân nhắc quyền và đặc điểm thiết bị
Kết hợp chúng sẽ biến quản lý dung lượng từ một công việc tẻ nhạt thành một phần không thể thiếu của hoạt động hệ thống.
6. CÂU HỎI THƯỜNG GẶP (FAQ)
Q1. Cách đơn giản để kiểm tra không gian trống hiện tại trên Ubuntu là gì?
Cách dễ nhất là chạy lệnh sau trong terminal.
df -h
Lệnh này hiển thị kích thước tổng, dung lượng đã dùng và dung lượng trống của mỗi ổ đĩa (phân vùng) một cách nhanh chóng.
Thêm tùy chọn-h` sẽ hiển thị kích thước ở định dạng dễ đọc (GB, MB).
Q2. Làm sao để kiểm tra dung lượng sử dụng đĩa theo thư mục?
Sử dụng lệnh du.
Để kiểm tra dung lượng của một thư mục cụ thể, chạy:
du -sh /home
Ý nghĩa các tùy chọn:
-s: chỉ hiển thị tổng-h: hiển thị kích thước ở đơn vị dễ đọc
Để xem chi tiết hơn theo từng thư mục, sử dụng:
sudo du -h --max-depth=1 /var
Q3. Sự khác nhau giữa df và du là gì?
Tóm lại, chúng đo lường các khía cạnh khác nhau.
| Command | Target | Primary Use |
|---|---|---|
df | Entire filesystem | Check free space |
du | File/directory level | Find where space is used |
Ví dụ, dùng df để xem không gian trống tổng thể trên /, và dùng du để xem một thư mục cụ thể tiêu thụ bao nhiêu.
Q4. Làm sao để kiểm tra không gian trống qua giao diện GUI?
Trên Ubuntu Desktop, bạn có thể kiểm tra trực quan bằng Trình quản lý tệp (Nautilus) hoặc Trình phân tích sử dụng đĩa (Baobab).
- Trình quản lý tệp → Thanh dưới cùng hiển thị “Còn lại XX GB”
- Baobab → Phân tích đồ họa về việc sử dụng
Cả hai đều thân thiện với người mới và hiển thị kết quả chỉ với một cú nhấp.
Q5. Nếu tôi nhận được cảnh báo “đĩa đầy”, nên xóa gì trước tiên?
Bắt đầu bằng cách xóa các bộ đệm an toàn và các tệp không cần thiết.
Thứ tự được khuyến nghị là:
- Xóa bộ đệm APT
sudo apt clean - Xóa các gói không cần thiết
sudo apt autoremove - Dọn dẹp nhật ký
sudo journalctl --vacuum-time=7d - Xóa thùng rác và bộ đệm hình thu nhỏ
rm -rf ~/.cache/thumbnails/* && rm -rf ~/.local/share/Trash/*
Những bước này thôi cũng có thể giải phóng vài gigabyte.
Q6. Tôi nghe nói ứng dụng Snap có thể làm phồng dung lượng đĩa. Tôi có thể làm gì?
Snap giữ mỗi phiên bản của một ứng dụng, vì vậy các phiên bản cũ có thể tồn tại lâu dài.
Bạn có thể xóa các phiên bản cũ không cần thiết bằng lệnh sau:
sudo snap list --all | grep disabled | awk '{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
Ngoài ra, bạn có thể xóa thủ công bằng công cụ GUI Snap Store.
Q7. Tôi nên làm gì khi /var hoặc /home quá lớn?
/var– dọn dẹp nhật ký (/var/log) và bộ đệm (/var/cache)/home– sao lưu hoặc di chuyển các tệp tải xuống và video sang lưu trữ bên ngoài
Nếu bạn cần tăng dung lượng, bạn có thể mở rộng khối lượng với LVM hoặc gắn một đĩa mới và quản lý không gian riêng biệt.
Q8. Chạy du mất nhiều thời gian. Có cách nào để tăng tốc không?
du quét mọi tệp một cách đệ quy, vì vậy nó có thể chậm trên các thư mục có nhiều mục.
Các mẹo sau có thể giúp:
- Sử dụng
--max-depth=1để bỏ qua các thư mục con sâu - Loại trừ các thư mục không cần thiết (ví dụ:
--exclude=/proc) - Sử dụng lệnh
ncdu(chế độ xem tương tác)sudo apt install ncdu sudo ncdu /
ncdu cảm thấy nhẹ nhàng và cung cấp cách trực quan để kiểm tra sử dụng đĩa.
Q9. Làm thế nào để tránh hết không gian lần nữa?
Bảo dưỡng định kỳ giúp ích rất nhiều:
- Chạy
sudo apt autoremovemột lần mỗi tuần - Kiểm tra sử dụng
/var/logvà/homehàng tháng - Lưu đầu ra của
df -hvào nhật ký và theo dõi thay đổi - Định kỳ xóa dữ liệu Snap hoặc Docker cũ
- Trên SSD, kích hoạt cắt tỉa tự động với
sudo systemctl enable fstrim.timer
Tự động hóa các nhiệm vụ này có thể giữ cho các vấn đề không gian đĩa ở mức thấp.
Q10. Các lựa chọn của tôi để mở rộng lưu trữ là gì?
Có ba cách tiếp cận phổ biến:
Mở rộng khối lượng LVM
bash sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv2. Thêm đĩa mới và gắn nó – tạo điểm gắn như/mnt/datavà phân bổ tải. 3. Sử dụng lưu trữ đám mây – di chuyển các tệp lớn sang Google Drive, Nextcloud, v.v.
Nếu việc thêm lưu trữ vật lý không khả thi, lưu trữ các tệp cũ cũng hiệu quả.
Q11. Tôi có thể kiểm tra sử dụng đĩa mà không cần quyền root không?
Lệnh df -h cơ bản hoạt động cho bất kỳ người dùng nào, nhưng du cần quyền để đọc một số thư mục (ví dụ: /var/log).
Trong môi trường không root, giới hạn quét vào thư mục home của bạn:
du -sh ~/*
Q12. Làm thế nào để kiểm tra lưu trữ trên hệ thống không đầu (server)?
Vì phiên bản server của Ubuntu thiếu GUI, hãy sử dụng các lệnh này thay thế:
| Goal | Command |
|---|---|
| Check overall usage | df -h |
| Check per‑directory usage | sudo du -hsx /* |
| Find large files | sudo find / -type f -size +1G |
| Visual, text‑based view | sudo ncdu / |
Kết hợp chúng cho phép bạn phân tích sử dụng đĩa một cách thoải mái mà không cần GUI.
Q13. Có rủi ro làm hỏng hệ thống khi kiểm tra lưu trữ không?
Việc kiểm tra sử dụng đơn giản không mang rủi ro.
Tuy nhiên, hãy cẩn thận khi bạn bắt đầu xóa hoặc thay đổi kích thước:
- Kiểm tra kép đường dẫn trước khi sử dụng
sudo rm -rf - Không bao giờ xóa các thư mục hệ thống như
/bin,/lib, hoặc/etc - Nếu bạn không chắc chắn, hãy sao lưu trước
Q14. Có mẹo ẩn nào để tiết kiệm không gian không?
- Rút ngắn thời gian lưu trữ nhật ký (cài đặt
/etc/logrotate.conf) - Xóa các gói ngôn ngữ không cần thiết:
sudo apt install localepurge - Xóa các kernel cũ (đôi khi chúng tồn tại lâu):
sudo apt autoremove --purge
Những bước này có thể giải phóng từ vài trăm MB đến vài GB.
Q15. Các công cụ được khuyến nghị để giám sát sử dụng đĩa?
Ubuntu cung cấp một số công cụ giám sát hữu ích:
| Tool | Features |
|---|---|
| ncdu | Lightweight, fast CLI explorer |
| Baobab | GUI with visual charts |
| duf | Enhanced df with a clean table layout |
| Netdata / Prometheus / Grafana | Full‑stack server monitoring and graphing |
Tóm tắt
Các điểm chính để quản lý dung lượng đĩa trên Ubuntu là:
- Sử dụng
dfđể xem tổng quan vàduđể kiểm tra chi tiết - Xóa dữ liệu không cần thiết theo thứ tự an toàn (APT → logs → caches)
- Tự động hoá việc dọn dẹp và giám sát ngăn ngừa tái phát
Bằng cách biến những thực hành này thành thói quen, các vấn đề về không gian đĩa sẽ trở nên hiếm gặp. Quản lý lưu trữ có thể có vẻ tẻ nhạt, nhưng đó là một trong những nhiệm vụ bảo trì quan trọng nhất để duy trì hệ thống Ubuntu ổn định.



