.## 1. Kiến Thức Tiền Đề: Cấu Trúc Lưu Trữ và Gắn Kết (Mount) trong Linux / Ubuntu
Khi kiểm tra dung lượng đĩa trên Ubuntu (và hầu hết các hệ điều hành dựa trên Linux), có một số khái niệm cấu trúc cơ bản cần được hiểu đúng. Phần này sắp xếp các khái niệm sau thường gây nhầm lẫn:
- Ý nghĩa của thiết bị và phân vùng
- Gắn kết (mount) và điểm gắn kết (mount point)
- Những điều cơ bản về LVM (Logical Volume Management)
- Các cấu hình lưu trữ điển hình trong Ubuntu
Chúng tôi sẽ giải thích từng mục một cách tuần tự.
- 1 2. Các Phương Pháp Dòng Lệnh Cơ Bản Để Kiểm Tra Dung Lượng Đĩa
- 2 3. Kiểm Tra Dung Lượng Đĩa Bằng Công Cụ GUI (Ubuntu Desktop)
- 3 4. Điều tra và biện pháp khắc phục khi không gian đĩa thấp
- 3.1 4.1 Xác định các dấu hiệu của việc cạn kiệt không gian đĩa
- 3.2 4.2 Bước 1: Kiểm tra tổng quan việc sử dụng đĩa (df)
- 3.3 4.3 Bước 2: Xác định thư mục nào đang tiêu thụ không gian (du)
- 3.4 4.4 Bước 3: Xóa các tệp và cache không cần thiết
- 3.5 4.5 Bước 4: Giải quyết sự tăng dung lượng đĩa do Ứng dụng và Log
- 3.6 4.6 Bước 5: Giải quyết Nguyên nhân Gốc bằng Việc Mở rộng hoặc Thêm Dung lượng Đĩa
- 3.7 4.7 Ngăn ngừa Tái phát với Giám sát Định kỳ
- 3.8 4.8 Tóm tắt: Thứ tự Ưu tiên cho Các biện pháp Đối phó với Dung lượng Đĩa
- 4 5. Mẹo Nâng cao (Kỹ thuật Hữu ích và Lưu ý)
- 4.1 5.1 Tự động Kiểm tra Đĩa Định kỳ
- 4.2 5.2 One-Liners to Find Large Files
- 4.3 5.3 Creating Aliases for Frequently Used Commands
- 4.4 5.4 Continuously Monitoring Disk Usage Changes
- 4.5 5.5 Be Aware of Permission Barriers
- 4.6 5.6 Considerations for SSD and HDD Environments
- 4.7 5.7 Turning Disk Management into a Preventive System
- 4.8 Summary
- 5 6. FAQ (Câu hỏi thường gặp)
- 5.1 Q1. Cách dễ nhất để kiểm tra dung lượng đĩa hiện tại trên Ubuntu là gì?
- 5.2 Q2. Làm sao kiểm tra việc sử dụng đĩa theo thư mục?
- 5.3 Q3. Sự khác nhau giữa df và du là gì?
- 5.4 Q4. Làm sao kiểm tra dung lượng đĩa bằng công cụ GUI?
- 5.5 Q5. Nên xóa gì đầu tiên khi nhận cảnh báo “đĩa đầy”?
- 5.6 Q6. Các ứng dụng Snap có tiêu tốn nhiều dung lượng đĩa không?
- 5.7 Q7. Nếu /var hoặc /home quá lớn thì sao?
- 5.8 Q8. Lệnh du chạy quá lâu. Làm sao tăng tốc?
- 5.9 Q9. Làm sao ngăn ngừa vấn đề dung lượng đĩa tái diễn?
- 5.10 Q10. Các tùy chọn nào có sẵn để mở rộng dung lượng đĩa?
- 5.11 Q11. Tôi có thể kiểm tra việc sử dụng đĩa mà không có quyền root không?
- 5.12 Q12. Làm sao kiểm tra dung lượng đĩa trên máy chủ mà không có GUI?
- 5.13 Q13. Có rủi ro nào khi kiểm tra việc sử dụng đĩa không?
- 5.14 Q14. Có mẹo nào để tiết kiệm dung lượng đĩa không?
- 5.15 Q15. Các công cụ giám sát đĩa được khuyến nghị là gì?
- 5.16 Tóm tắt Cuối cùng
1.1 Những Điều Cơ Bản về Thiết Bị và Phân Vùng
Thiết Bị (Ổ Đĩa Vật Lý và Logic)
Trong Linux, mỗi đơn vị lưu trữ được xử lý như một tập tin thiết bị. Ví dụ, HDD, SSD và ổ USB được biểu diễn bằng các tên như /dev/sda, /dev/sdb, hoặc /dev/nvme0n1.
Hậu tố chữ cái (a, b, c, …) cho biết 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ý duy nhất có thể được sử dụng nguyên trạng, nhưng trong hầu hết các trường hợp nó sẽ được chia thành nhiều khu vực logic gọi là phân vùng. Việc phân vùng cho phép bạn quản lý hệ điều hành, dữ liệu người dùng và log một cách riêng biệt.
Ví dụ, /dev/sda1 và /dev/sda2 đại diện cho các phân vùng. Những tên này có nghĩa là “phân vùng 1 / phân vùng 2 trên thiết bị sda.”
Mỗi phân vùng sẽ được tạo một hệ thống tập tin, và dữ liệu thực tế được lưu trữ ở đó.
(Ví dụ giải thích về phân vùng Linux: Engineer’s Entrance)
Các phân vùng sử dụng các định dạng như MBR (cũ) hoặc GPT (mới), mỗi loại có những hạn chế và ưu điểm riêng.
1.2 Gắn Kết và Điểm Gắn Kết
Gắn Kết
Để một hệ thống tập tin có thể sử dụng được, cần thực hiện một quá trình gọi là gắn kết. Thao tác này liên kết một phân vùng (hoặc logical volume) với một thư mục cụ thể (điểm gắn kết).
Nếu không gắn kết, dữ liệu trên phân vùng sẽ không thể truy cập.
Ví dụ, ngay cả khi có một hệ thống tập tin ext4 trên /dev/sda1, bạn vẫn không thể truy cập nội dung của nó dưới /mnt/data nếu không thực hiện lệnh như mount /dev/sda1 /mnt/data.
Điểm Gắn Kết
Thư mục mà hệ thống tập tin được gắn vào được gọi là điểm gắn kết.
Các ví dụ điển hình bao gồm:
/(dấu gạch chéo): Thư mục gốc (điểm bắt đầu của toàn bộ hệ thống)/home: Vị trí chứa các thư mục home của người dùng/var: Vị trí chứa log, cache và dữ liệu biến đổi/boot: Vị trí chứa các tập tin liên quan tới quá trình khởi động
Trong Ubuntu và nhiều bản phân phối Linux khác, tập tin /etc/fstab định nghĩa thiết bị hoặc UUID nào sẽ được gắn tại các vị trí nào khi hệ thống khởi động.
1.3 Tổng Quan về LVM (Logical Volume Management)
Với việc chỉ dùng phân vùng truyền thống, việc thay đổi bố cục đĩa một cách linh hoạt sau này có thể gặp khó khăn. Để giải quyết vấn đề này, Linux cung cấp LVM (Logical Volume Manager).
Các Thành Phần Cơ Bản của LVM
- Physical Volume (PV) – Một ổ đĩa vật lý hoặc một phân vùng.
- Volume Group (VG) – Một lớp kết hợp nhiều PV lại thành một kho lưu trữ ảo lớn.
- Logical Volume (LV) – Một khu vực được cấp phát logic tạo ra từ VG. Hệ thống tập tin được tạo trên LV.
Cấu trúc lớp này cho phép các logical volume được mở rộng hoặc thu hẹp sau này, và dễ dàng thêm cũng như tích hợp các ổ đĩa vật lý mới.
Ưu Điểm và Lưu Ý Khi Sử Dụng LVM
Ưu điểm
- Mở rộng dung lượng lưu trữ linh hoạt
- Khả năng kết hợp nhiều ổ đĩa
- Dễ dàng tạo snapshot để sao lưu
Lưu ý
- Cấu hình và vận hành phức tạp hơn một chút
- Nguy cơ mất dữ liệu nếu cấu hình sai
- Quy trình mở rộng khác so với môi trường không dùng LVM
Trình cài đặt Ubuntu thường cung cấp tùy chọn sử dụng LVM, nhưng không bắt buộc và phụ thuộc vào nhu cầu sử dụng cũng như chính sách quản lý.
1.4 Các Cấu Hình Lưu Trữ Điển Hình trong Ubuntu
Cấu Hình Phân Vùng Đơn (Cài Đặt Đơn Giản)
Trong cấu hình đơn giản nhất, mọi thứ đều được đặt dưới thư mục gốc (/). Cách tiếp cận này dễ quản lý ban đầu, nhưng sau này việc mở rộng hoặc tách riêng các phần có thể gặp khó khăn.
Cấu Hình Phân Miền Đa Phổ Biến
Một bố cục thường được sử dụng chia lưu trữ thành nhiều phân miền, chẳng hạn như:
/(gốc): Các tệp hệ thống cốt lõi/home: Dữ liệu người dùng/var: Nhật ký và dữ liệu biến đổi/boot: Tệp khởi động- Khu vực Swap (phân miền hoặc tệp swap)
Cấu trúc này giúp ngăn chặn nhật ký hoặc bộ đệm làm quá tải toàn bộ hệ thống.
Cấu Hình Khối Lượng Lô Gic Dựa Trên LVM
Một cấu hình nâng cao hơn sử dụng LVM như sau:
- Đĩa vật lý → PVs
- Nhiều PVs kết hợp thành một VG
- Các khối lượng lôgic được tạo cho
/,/home,/var, v.v. - Có thể mở rộng trong tương lai hoặc thêm các LV mới
Cách tiếp cận này cung cấp tính linh hoạt cao khi thêm đĩa hoặc mở rộng lưu trữ.
2. Các Phương Pháp Dòng Lệnh Cơ Bản Để Kiểm Tra Dung Lượng Đĩa
Trên Ubuntu, việc sử dụng các công cụ 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.
Các lệnh cho phép phân tích chính xác ngay cả trong môi trường máy chủ không có GUI.
Phần này tập trung vào các lệnh cơ bản df và du , cùng với các công cụ hỗ trợ.
2.1 Kiểm Tra Việc Sử Dụng Hệ Thống Tệp Với Lệnh df
Tổng Quan Về df
df (disk free) hiển thị việc sử dụng đĩa tổng thể và không gian có sẵn cho các hệ thống tệp.
Đây là cách phổ biến nhất để kiểm tra dung lượng đĩa trên các hệ thống Linux, bao gồm Ubuntu.
Sử Dụng Cơ Bản
df -h
Lệnh này liệt kê tất cả các hệ thống tệp sử dụng các đơn vị dễ đọc cho con người (K, M, G).
Các cột chính có ý nghĩa như sau:
Giải Thích Các Cột Chính
| Column | Description |
|---|---|
| Filesystem | Target device name (e.g., /dev/sda1) |
| Size | Total filesystem size |
| Used | Used disk space |
| Avail | Remaining available space |
| Use% | Usage percentage |
| Mounted on | Mount point (e.g., /, /home) |
Các Tùy Chọn Thường Sử Dụng
| Option | Description |
|---|---|
-h | Display sizes in MB / GB (essential for readability) |
-T | Also display filesystem type (ext4, xfs, etc.) |
--total | Add a total summary line at the end |
df -h /home | Display only the filesystem containing a specific directory |
Ví Dụ Thực Thi
$ 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
Đầu ra này cho phép bạn nhanh chóng hiểu cách phân bổ và sử dụng không gian đĩa.
Lưu Ý Quan Trọng
- Các phân miền chưa được gắn kết không được hiển thị bởi
df. - Các gói Snap (ví dụ:
/var/lib/snapd/snaps) có thể tiêu tốn không gian đĩa đáng kể và nên được kiểm tra riêng biệt. - Một số điểm gắn kết chỉ có thể nhìn thấy khi chạy với quyền root.
2.2 Kiểm Tra Việc Sử Dụng Thư Mục Với Lệnh du
Tổng Quan Về du
du (disk usage) đo lường việc sử dụng không gian đĩa bởi các thư mục và tệp.
Trong khi df cung cấp cái nhìn tổng quan ở mức cao, du lý tưởng để xác định nơi không gian đĩa thực sự đang được tiêu thụ.
Sử Dụng Cơ Bản
du -sh /home
Lệnh này hiển thị tổng việc sử dụng đĩa của thư mục /home ở định dạng dễ đọc cho con người.
Các Tùy Chọn Thường Sử Dụng
| Option | Description |
|---|---|
-s | Show only the summary total |
-h | Automatically convert units for readability |
--max-depth=1 | List usage of directories directly under the specified path |
-c | Display a grand total at the end |
--exclude=PATTERN | Exclude specific directories (e.g., caches) |
Ví Dụ: So Sánh Kích Thước Thư Mục
sudo du -h --max-depth=1 /var
Đầu ra ví dụ:
1.2G /var/log
2.5G /var/lib
800M /var/cache
4.5G /var
Điều này làm cho việc xác định các thư mục tiêu thụ không gian nhiều nhất trở nên dễ dàng.
Sử Dụng 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ể nhanh chó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 việc sử dụng đĩa cho các thư mục trực tiếp dưới thư mục gốc và hiển thị 10 thư mục lớn nhất.
Lưu Ý Quan Trọng
- Việc thực thi có thể mất thời gian đối với các hệ thống thư mục sâu.
- Không có quyền root, việc sử dụng đĩa cho một số thư mục có thể không được hiển thị chính xác.
- Ngay cả trên SSD nhanh, việc quét hàng chục gigabyte có thể mất vài phút.
2.3 Các Lệnh Và Công Cụ Hỗ Trợ Hữu Ích Khác
lsblk: Xem Cấu Trúc Thiết Bị Khối
lsblk
lsblk hiển thị các thiết bị đĩa và bố cục phân miền của chúng dưới dạng cây.
Nó hữu ích để hiểu trực quan cách các thiết bị, phân miền và điểm gắn kết liên quan đến nhau.
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: Công Cụ Phân Tích Việc Sử Dụng Đĩa Tương Tác
Nếu bạn muốn một lựa chọn trực quan hơn cho du, ncdu (NCurses Disk Usage) được khuyến nghị mạnh mẽ.
Cài đặt:
sudo apt install ncdu
Khởi chạy:
sudo ncdu /
Bạn có thể duyệt các thư mục bằng các phím mũi tên và tương tác để xác định các điểm nóng về việc sử dụng đĩa. Công cụ này đặc biệt phổ biến trong cộng đồng quản trị hệ thống cho môi trường máy chủ.
Kết hợp với lệnh find
Để tìm các tệp lớn riêng lẻ, sử dụng find:
sudo find / -type f -size +1G
Lệnh này tìm kiếm tất cả các tệp lớn hơn 1GB, hữu ích để xác định các nhật ký lớn hoặc ảnh đĩa.
2.4 Chọn Phương Pháp Phù Hợp (Tóm Tắt So Sánh)
| Purpose | Command Example | Characteristics |
|---|---|---|
| Check overall free disk space | df -h | Filesystem-level overview |
| Check a specific directory | du -sh /path | Detailed size measurement |
| Find disk usage hotspots | du -hsx /* | sort -rh | Quick identification of large directories |
| View device and partition layout | lsblk | Visual representation of structure |
| Find large files | find / -type f -size +1G | Filter by file size |
3. Kiểm Tra Dung Lượng Đĩa Bằng Công Cụ GUI (Ubuntu Desktop)
Ubuntu cung cấp các công cụ đồ họa (GUI) tiện lợi cho phép bạn kiểm tra dung lượng đĩa mà không cần dùng terminal. Phần này giới thiệu hai phương pháp chính sau:
- Sử dụng trình quản lý tệp mặc định (Nautilus)
- Sử dụng Disk Usage Analyzer (Baobab)
3.1 Kiểm Tra Dung Lượng Có Sẵn Với Trình Quản Lý Tệp (Nautilus)
Phương Pháp Chuẩn Trên Ubuntu
Trên Ubuntu Desktop, cách dễ nhất để kiểm tra dung lượng đĩa là mở trình quản lý tệp (Nautilus).
- Nhấn vào biểu tượng “Files” trên thanh dock bên trái (trình khởi chạy ứng dụng)
- Kiểm tra thanh trạng thái hiển thị ở góc trên bên phải hoặc góc dưới bên trái
- Dung lượng còn lại được hiển thị dưới dạng “XX GB free” hoặc “XX GB used out of YY GB”
Điều này cho phép bạn nhanh chóng xác minh dung lượng còn lại trên ổ hệ thống.
Xem Chi Tiết Qua Thuộc Tính
Nhấp chuột phải vào một thư mục hoặc biểu tượng ổ đĩa và chọn [Properties] để xem thông tin sử dụng chi tiết cho thư mục hoặc ổ cụ thể đó.
Điều này đặc biệt hữu ích để kiểm tra kích thước của các thư mục như /home hoặc /Downloads.
Ưu Điểm và Hạn Chế
| Advantages | Limitations |
|---|---|
| Simple, click-based operation | Difficult to analyze system-wide or hidden areas |
| Beginner-friendly | Hard to detect growth in /var/log or system directories |
Mặc dù hữu ích cho một cái nhìn nhanh, nhưng phân tích sâu hơn nên được thực hiện bằng công cụ Baobab được mô tả tiếp theo.
3.2 Disk Usage Analyzer (Baobab)
Baobab là gì?
Baobab (còn gọi là Disk Usage Analyzer) là một công cụ đồ họa được bao gồm trong Ubuntu, hiển thị việc sử dụng đĩa một cách trực quan bằng biểu đồ tròn và bản đồ cây.
Nó thường được cài đặt sẵn, nhưng nếu chưa, bạn có thể cài đặt bằng lệnh sau:
sudo apt install baobab
Cách Khởi Chạy Baobab
- Tìm “Disk Usage” trong Activities (tìm kiếm góc trên bên trái)
- Nhấn “Disk Usage Analyzer (Baobab)” để khởi chạy
- Sau khi khởi động, chọn “Scan Folder” hoặc “Scan Filesystem”
Khi quá trình quét hoàn tất, việc sử dụng đĩa sẽ được hiển thị trực quan bằng biểu đồ tròn hoặc dạng cây.
Hiển Thị Ví Dụ (Khái Niệm)
- Các vòng ngoài đại diện cho các cấp thư mục sâu hơn
- Kích thước khu vực tương ứng với việc sử dụng đĩa
Điều này giúp dễ dàng nhận diện ngay lập tức các thư mục tiêu thụ nhiều không gian nhất.
Các Tính Năng Chính
| Feature | Description |
|---|---|
| Target Selection | Scan specific directories such as /home |
| Tree View | View folder hierarchy and sizes in a list format |
| Identifying Unnecessary Files | Quickly spot large directories at a glance |
| Right-click → Open | Open the corresponding directory directly in the file manager |
Ưu Điểm và Lưu Ý
Ưu điểm
- Trực quan đồ họa, phù hợp cho người mới bắt đầu
- Dễ dàng quyết định dọn dẹp và tổ chức tệp
- Các thư mục hệ thống có thể được phân tích khi khởi chạy với quyền root
Lưu ý
- Quét toàn bộ hệ thống tệp có thể mất thời gian
- Các 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ể yêu cầu bộ nhớ đáng kể trong quá trình phân tích
3.3 Kiểm Tra Thông Tin Đĩa Với GNOME Disks
Ubuntu cũng bao gồm một ứng dụng tiêu chuẩn gọi là GNOME Disks (Disk Utility). Công cụ này dùng để kiểm tra cấu trúc đĩa chứ không chỉ dung lượng khả dụng.
Bạn có thể xem các thông tin sau:
- Tên thiết bị (ví dụ: /dev/sda)
- Kiểu hệ thống tệp (ext4, NTFS, v.v.)
- Điểm gắn kết
- Đồ thị sử dụng và dung lượng khả dụng
Cách khởi chạy:
- Tìm “Disks” trong Activities
- Mở GNOME Disks
- Chọn một ổ đĩa từ danh sách bên trái
Việc sử dụng đĩa được hiển thị bằng các đồng hồ đo trực quan, cung cấp thông tin tương đương lệnh df dưới dạng đồ họa.
.### 3.4 Lựa chọn giữa công cụ GUI và dòng lệnh
Trên Ubuntu Desktop, các công cụ GUI đơn độc đã đủ cho việc quản lý không gian đĩa cơ bản.
Tuy nhiên, đối với việc khắc phục sự cố chính xác và quản trị máy chủ, các công cụ dòng lệnh như df và du là thiết yếu.
| Scenario | Recommended Tool |
|---|---|
| Quickly check available space | File Manager (Nautilus) |
| Analyze which folders are large | Baobab (Disk Usage Analyzer) |
| Inspect disk and partition layout | GNOME Disks |
| Server or remote environments | df, du, lsblk, ncdu |
3.5 Môi trường không có GUI (Dành cho 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,
các công cụ như Baobab hoặc trình quản lý tệp sẽ không khả dụng.
Trong những trường hợp như vậy, các lệnh đã giới thiệu trước đó df, du và ncdu cung cấp phân tích đĩa chi tiết đủ bằng cách chỉ sử dụng terminal.
Tóm tắt
Sử dụng các công cụ GUI cho phép kiểm tra việc sử dụng đĩa và phân tích dọn dẹp được thực hiện hoàn toàn bằng các cú nhấp chuột.
Đặc biệt, Baobab là một công cụ tiêu chuẩn được sử dụng rộng rãi, phù hợp cho cả người mới bắt đầu và người dùng nâng cao.
Bằng cách kết hợp các phương pháp được giới thiệu trong phần này, việc giám sát lưu trữ thường ngày trở nên dễ dàng hơn đáng kể.
4. Điều tra và biện pháp khắc phục khi không gian đĩa thấp
Khi sử dụng Ubuntu trong thời gian dài, không gian đĩa có thể dần bị hạn chế do các bản cập nhật và dữ liệu tích lũy.
Để hệ thống ở trạng thái không gian thấp có thể gây ra lỗi cập nhật, vấn đề ghi log và sự không ổn định chung.
Phần này giải thích các quy trình từng bước để xác định vấn đề không gian đĩa và áp dụng các giải pháp hiệu quả.
4.1 Xác định các dấu hiệu của việc cạn kiệt không gian đĩa
Đầu tiên, kiểm tra các triệu chứng cho thấy không gian đĩa không đủ.
Nếu bạn gặp bất kỳ điều nào sau đây, đã đến lúc điều tra việc sử dụng lưu trữ:
apt upgradebáo cáo “không đủ không gian đĩa”- Cảnh báo GUI như “Không gian đĩa thấp” xuất hiện
- Một số ứng dụng không thể lưu cài đặt hoặc ghi log
- Các thư mục như
/varhoặc/tmpđầy, gây chậm chạp
Trong những tình huống này, chỉ giải phóng không gian không đủ—bạn phải xác định điểm nào đang tiêu thụ không gian đĩa. 
4.2 Bước 1: Kiểm tra tổng quan việc sử dụng đĩa (df)
Bắt đầu bằng cách kiểm tra tổng quan tình trạng đĩa bằng lệnh df -h.
df -h
Ví dụ đầu ra:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 48G 1.2G 98% /
/dev/sda1 512M 120M 392M 24% /boot
Bất kỳ hệ thống tệp nào có giá trị Use% trên 90% đều cần chú ý ngay lập tức.
Nếu các thư mục quan trọng như / (gốc), /var, hoặc /home gần đầy, hãy tiến tới bước tiếp theo.
4.3 Bước 2: Xác định thư mục nào đang tiêu thụ không gian (du)
Sau khi xác định phân vùng bị ảnh hưởng, phân tích nội dung của nó bằng lệnh du.
Ví dụ: Hiển thị 10 thư mục lớn nhất
sudo du -hsx /* | sort -rh | head -10
Ví dụ đầu ra:
15G /var
10G /home
5.2G /usr
3.1G /snap
Nếu /var lớn, thường là do log hoặc cache. Nếu /home lớn, dữ liệu người dùng thường là nguyên nhân.
Tiếp tục khám phá sâu hơn bên trong /var
sudo du -hsx /var/* | sort -rh | head -10
Bằng cách duyệt qua cấu trúc thư mục theo cách này, bạn có thể xác định chính xác các thư mục tiêu thụ không gian đĩa.
4.4 Bước 3: Xóa các tệp và cache không cần thiết
Sau khi xác định nguồn tiêu thụ đĩa, bắt đầu dọn dẹp từ các tệp không cần thiết an toàn để xóa.
(1) Xóa cache APT
Ubuntu lưu trữ các tệp gói tạm thời trong /var/cache/apt/archives trong quá trình cập nhật.
Xóa chúng thường có thể khôi phục vài gigabyte không gian đĩa.
sudo apt clean
sudo apt autoremove
apt clean: Xóa tất cả các tệp gói đã cacheapt autoremove: Xóa các gói phụ thuộc không còn dùng
(2) Xóa các tệp log cũ
/var/log là một trong những nguyên nhân phổ biến nhất gây bùng phình không gian đĩa.
sudo journalctl --vacuum-time=7d
Lệnh này xóa các log hệ thống cũ hơn bảy ngày.
Bạn cũng có thể tự xóa các tệp log nén không cần thiết (.gz).
sudo rm -f /var/log/*.gz
(3) Xóa các phiên bản Snap cũ
.Trên Ubuntu, các ứng dụng Snap giữ nhiều phiên bản theo mặc định. Các phiên bản đã vô hiệu hoá cũ có thể được xóa 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ể sử dụng các tiện ích “Snap Cleaner” chuyên dụng.
(4) Xóa bộ nhớ đệm hình thu nhỏ
Nếu bạn thường xuyên xử lý hình ảnh hoặc video, một lượng lớn bộ nhớ đệm có thể tích lũy trong ~/.cache/thumbnails.
rm -rf ~/.cache/thumbnails/*
(5) Dọn sạch Thùng rác
Các tệp bị xóa qua giao diện GUI thường vẫn được lưu trong ~/.local/share/Trash/files.
rm -rf ~/.local/share/Trash/*
4.5 Bước 4: Giải quyết sự tăng dung lượng đĩa do Ứng dụng và Log
(1) Môi trường Docker
Nếu Docker đang được sử dụng, các image và container không dùng thường tiêu tốn đáng kể dung lượng đĩa.
docker system df
docker system prune -a
docker system df: Kiểm tra dung lượng đĩa liên quan đến Dockerdocker system prune -a: Xóa các image và container không dùng
(2) Sử dụng mạnh mẽ Flatpak hoặc Snap
Môi trường desktop với nhiều ứng dụng GUI thường tích lũy dữ liệu còn lại từ các phiên bản cũ. Sử dụng các lệnh như flatpak uninstall --unused để dọn dẹp.
(3) Xem xét Cài đặt Quay vòng Log
Kiểm tra /etc/logrotate.conf và các tệp trong /etc/logrotate.d/ để đảm bảo thời gian giữ log và giới hạn kích thước được cấu hình đúng. Điều này giúp ngăn ngừa các vấn đề về dung lượng đĩa trong tương lai.
4.6 Bước 5: Giải quyết Nguyên nhân Gốc bằng Việc Mở rộng hoặc Thêm Dung lượng Đĩa
Nếu việc dọn dẹp một mình không đủ, hãy xem xét các thay đổi cấu trúc sau.
(1) Mở rộng Logical Volume bằng LVM
Trong môi trường sử dụng LVM (Logical Volume Manager), các logical volume có thể được mở rộng một cách dễ dàng.
sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
Điều này tăng không gian khả dụng của hệ thống tệp root.
(2) Thêm và Gắn một Đĩa Mới
Bạn có thể gắn một thiết bị lưu trữ mới dưới các thư mục như /mnt/data, và di chuyển các thư mục lớn (ví dụ: /var/lib/docker hoặc /home) sang đĩa mới.
(3) Sử dụng Lưu trữ Đám mây
Một tùy chọn khác là di chuyển log hoặc sao lưu lên các dịch vụ lưu trữ đám mây như Google Drive, Dropbox hoặc Nextcloud.
4.7 Ngăn ngừa Tái phát với Giám sát Định kỳ
Thiếu dung lượng đĩa là có thể ngăn ngừa bằng việc giám sát định kỳ. Các thực hành vận hành sau đây hiệu quả:
- Thường xuyên kiểm tra
df -hvàdu -sh /var - Tạo script để tự động phát hiện các thư mục lớn
- Gửi cảnh báo email khi dung lượng đĩa vượt quá ngưỡng định sẵn (sử dụng
cronvàmailutils)
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: Thứ tự Ưu tiên cho Các biện pháp Đối phó với Dung lượng Đĩa
| Priority | Countermeasure | Notes |
|---|---|---|
| ★★★★★ | Remove APT cache (sudo apt clean) | Immediate effect |
| ★★★★☆ | Log cleanup (sudo journalctl --vacuum-time=7d) | Safe and reliable |
| ★★★★☆ | Remove unused Snap / Flatpak versions | Effective on desktop systems |
| ★★★☆☆ | Remove unused Docker data | Effective for server use |
| ★★☆☆☆ | Disk expansion or additional mounts | Effective as a fundamental solution |
| ★☆☆☆☆ | Introduce monitoring scripts | Most effective for long-term operations |
Khi dung lượng đĩa trở nên hạn chế trên Ubuntu, “xác định việc sử dụng nặng → an toàn loại bỏ dữ liệu không cần thiết → xem xét cấu trúc hệ thống”
Thực hiện theo ba bước này sẽ giải quyết hầu hết các vấn đề.
5. Mẹo Nâng cao (Kỹ thuật Hữu ích và Lưu ý)
Ngay cả sau khi đã nắm vững các kiểm tra và phương pháp dọn dẹp dung lượng đĩa cơ bản, việc sử dụng đĩa vẫn có thể tăng dần lại trong quá trình vận hành lâu dài. Phần này giới thiệu các kỹ thuật nâng cao để giúp hệ thống Ubuntu hoạt động trơn tru.
5.1 Tự động Kiểm tra Đĩa Định kỳ
Việc chạy thủ công df và du có thể gây mệt mỏi, nhưng script tự động giảm đáng kể công sức. Bằng cách đăng ký một script giám sát đơn giản với cron, bạn có thể nhận cảnh báo khi mức sử dụng đĩa vượt quá một ngưỡng nhất định.
Ví dụ: Thông báo Email Khi Dung lượng 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
Save this as /usr/local/bin/check_disk.sh and grant execute permission with chmod +x.
Then register it using crontab -e:
0 8 * * * /usr/local/bin/check_disk.sh
→ This runs the check automatically every morning at 8:00.
Helpful Enhancements
- Notifications can be sent not only by email but also via Slack webhooks or LINE Notify
- The script can be extended to monitor multiple mount points simultaneously
5.2 One-Liners to Find Large Files
Disk space shortages are often caused by a single large file.
The following one-liner lists all files larger than 1GB:
sudo find / -type f -size +1G -exec ls -lh {} \; | awk '{print $9 ": " $5}'
Example output:
/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G
This allows you to quickly identify files that should be deleted or moved.
Variation: Search Only a Specific Directory
sudo find /var -type f -size +500M
This is useful when investigating large files under /var.
5.3 Creating Aliases for Frequently Used Commands
Typing long commands repeatedly is inefficient, so setting up aliases improves productivity.
Example: Add to ~/.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'
Apply the changes:
source ~/.bashrc
After this, you can quickly run:
dfh: Check total disk usageduh: Show top 10 largest directorieslogs: Analyze log directory usage
5.4 Continuously Monitoring Disk Usage Changes
During long-term Ubuntu operation, disk usage can grow unnoticed.
Keeping a history of disk usage is an effective countermeasure.
Example: Log Disk Usage to a File
#!/bin/bash
df -h / | awk 'NR==2 {print strftime("%Y-%m-%d %H:%M:%S"), $3, $4, $5}' >> /var/log/disk_usage.log
Running this daily via cron allows you to track growth trends over time.
More Advanced Approaches
- Visualize usage with
collectdornetdata - Use Prometheus + Grafana for enterprise monitoring
- Integrate with AWS CloudWatch or GCP Ops Agent in cloud environments
5.5 Be Aware of Permission Barriers
Accurate disk analysis may require root privileges.
Example:
du -sh /var
Without sufficient permissions, some directories may be skipped with “Permission denied,”
resulting in smaller reported sizes than actual usage.
→ Use sudo or administrative privileges when performing system-wide analysis.
5.6 Considerations for SSD and HDD Environments
SSD Environments
- Enable regular TRIM operations to avoid unnecessary writes:
sudo systemctl enable fstrim.timerThis allows SSDs to optimize deleted blocks automatically.
HDD Environments
- Log and cache fragmentation may occur more easily, so rebooting after cleanup can be effective
- Run I/O-intensive commands such as
duduring low-load periods (e.g., late at night)
5.7 Turning Disk Management into a Preventive System
The optimal approach to disk management is habitual and systematic prevention.
Practical Checklist
- Regularly check
df -h - Review
/var/loggrowth monthly - Run
apt autoremoveweekly - Clean up unused Snap and Docker data regularly
- Enable automated alert scripts
By following these practices, most disk space issues can be prevented in advance.
Summary
This section introduced advanced techniques for efficient disk management on Ubuntu.
The key points are:
- Phát hiện sớm thông qua tự động hoá và cảnh báo
- Cải thiện hiệu suất bằng cách sử dụng alias và one‑liners
- Quản lý an toàn với nhận thức về quyền hạn và đặc điểm lưu trữ
Kết hợp các phương pháp này nâng quản lý đĩa từ một công việc tẻ nhạt lên thành một phần cốt lõi của hoạt động hệ thống.
6. FAQ (Câu hỏi thường gặp)
Q1. Cách dễ nhất để kiểm tra dung lượng đĩa hiện tại trên Ubuntu là gì?
Phương pháp đơn giản 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 còn lại cho mỗi hệ thống tập tin.
Tùy chọn -h định dạng các giá trị theo cách dễ đọc (GB / MB).
Q2. Làm sao kiểm tra việc sử dụng đĩa theo thư mục?
Sử dụng lệnh du.
Để kiểm tra một thư mục cụ thể:
du -sh /home
Ý nghĩa các tùy chọn:
-s: Chỉ hiển thị tổng cộng-h: Hiển thị kích thước ở định dạng dễ đọc
Để phân tích chi tiết hơn:
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 các mục tiêu khác nhau.
| Command | Target | Main Purpose |
|---|---|---|
df | Entire filesystem | Check available space |
du | Files and directories | Identify disk usage sources |
Q4. Làm sao kiểm tra dung lượng đĩa bằng công cụ GUI?
Trên Ubuntu Desktop, bạn có thể dùng Trình quản lý Tập tin (Nautilus) hoặc Bộ phân tích Dung lượng Đĩa (Baobab).
- Trình quản lý Tập tin: Hiển thị dung lượng còn lại trên thanh trạng thái
- Baobab: Trực quan hoá việc sử dụng đĩa bằng biểu đồ và bản đồ cây
Q5. Nên xóa gì đầu tiên khi nhận cảnh báo “đĩa đầy”?
Bắt đầu với các mục an toàn theo thứ tự sau:
- Bộ nhớ đệm APT :
sudo apt clean - Gói không dùng :
sudo apt autoremove - Log cũ :
sudo journalctl --vacuum-time=7d - Thùng rác và bộ nhớ đệm hình thu nhỏ :
rm -rf ~/.cache/thumbnails/* ~/.local/share/Trash/*
Q6. Các ứng dụng Snap có tiêu tốn nhiều dung lượng đĩa không?
Có. Snap giữ lại nhiều phiên bản theo thiết kế.
Xóa các phiên bản không dùng bằng:
sudo snap list --all | grep disabled | awk '{print $1, $3}' | \
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
Q7. Nếu /var hoặc /home quá lớn thì sao?
/var: Dọn dẹp log (/var/log) và bộ nhớ đệm (/var/cache)/home: Lưu trữ hoặc chuyển các tệp người dùng lớn sang bộ nhớ ngoài
Nếu cần, cân nhắc mở rộng lưu trữ bằng LVM hoặc gắn thêm một đĩa.
Q8. Lệnh du chạy quá lâu. Làm sao tăng tốc?
- Giới hạn độ sâu bằng
--max-depth=1 - Loại trừ các thư mục không cần (ví dụ
--exclude=/proc) - Dùng
ncduđể phân tích tương tác
Q9. Làm sao ngăn ngừa vấn đề dung lượng đĩa tái diễn?
- Chạy
sudo apt autoremovehàng tuần - Kiểm tra
/var/logvà/homehàng tháng - Ghi log kết quả
df -hđể theo dõi xu hướng - Thường xuyên dọn dẹp dữ liệu Snap và Docker
- Bật TRIM trên hệ thống SSD
Q10. Các tùy chọn nào có sẵn để mở rộng dung lượng đĩa?
- Mở rộng các volume LVM
sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lvsudo resize2fs /dev/ubuntu-vg/ubuntu-lv - Thêm và gắn một đĩa mới dưới các thư mục như
/mnt/data - Sử dụng lưu trữ đám mây cho các tệp lớn và sao lưu
Q11. Tôi có thể kiểm tra việc sử dụng đĩa mà không có quyền root không?
Bạn có thể chạy df -h, nhưng du cần quyền để kiểm tra một số thư mục.
Nếu không có quyền root, hãy giới hạn phân tích trong thư mục home của bạn:
du -sh ~/*
Q12. Làm sao kiểm tra dung lượng đĩa trên máy chủ mà không có GUI?
Sử dụng bộ lệnh sau:
| Purpose | Command |
|---|---|
| Check overall usage | df -h |
| Directory-level analysis | sudo du -hsx /* |
| Find large files | sudo find / -type f -size +1G |
| Interactive analysis | sudo ncdu / |
Q13. Có rủi ro nào khi kiểm tra việc sử dụng đĩa không?
Việc chỉ kiểm tra việc sử dụng đĩa là an toàn.
Tuy nhiên, các thao tác xóa hoặc thay đổi kích thước đòi hỏi phải cẩn thận.
- Kiểm tra lại đường dẫn khi dùng
sudo rm -rf - Không bao giờ xóa các thư mục hệ thống như
/bin,/libhoặc/etc - Tạo bản sao lưu nếu không chắc chắn
Q14. Có mẹo nào để tiết kiệm dung lượng đĩa không?
- Rút ngắn thời gian lưu log trong
/etc/logrotate.conf - Gỡ bỏ các gói ngôn ngữ không dùng (
sudo apt install localepurge) - Tự động xóa các kernel cũ (
sudo apt autoremove --purge)
Q15. Các công cụ giám sát đĩa được khuyến nghị là gì?
| Tool | Features |
|---|---|
| ncdu | Lightweight and fast CLI tool |
| Baobab | GUI-based visual analysis |
| duf | Enhanced df with readable tables |
| Netdata / Prometheus / Grafana | Advanced server monitoring and visualization |
Tóm tắt Cuối cùng
Qua FAQ này, các điểm chính về quản lý đĩa trên Ubuntu có thể được tóm tắt như sau:
- Sử dụng cả
df(tổng quan) vàdu(chi tiết) - Xóa dữ liệu không cần thiết theo thứ tự an toàn (APT → logs → cache)
- Ngăn chặn tái phát thông qua tự động hóa và giám sá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ý đĩa có thể không hấp dẫn, nhưng nó là một trong những nhiệm vụ bảo trì quan trọng nhất để vận hành Ubuntu ổn định.



