Tối ưu hiệu suất SSD trên Linux với fstrim
Khi nhắc đến kiểm tra và tối ưu hệ thống Linux, chúng ta thường nghĩ ngay đến các công cụ quen thuộc như top, htop, iotop, journalctl hay systemctl. Tuy nhiên, có một công cụ nhỏ gọn, ít được chú ý nhưng lại rất hữu ích trong việc duy trì hiệu suất ổ SSD: fstrim.
Vấn đề: SSD không tự biết block nào đã bị xóa
Trên ổ SSD, khi bạn xóa một tệp, hệ điều hành chỉ đánh dấu block tương ứng là “không sử dụng”, nhưng ổ SSD vẫn xem đó là dữ liệu hợp lệ cho đến khi được ghi đè. Điều này dẫn đến các hệ quả:
-
SSD nghĩ rằng dung lượng vẫn đầy, gây ảnh hưởng đến hiệu suất.
-
Hiệu suất ghi giảm dần theo thời gian.
-
Giảm tuổi thọ bộ nhớ flash do ghi đè không cần thiết.
Giải pháp là gửi lệnh TRIM cho SSD, nhằm thông báo rằng: “Block này không còn dùng nữa, có thể giải phóng”.
fstrim là gì?
fstrim là một tiện ích trong Linux, dùng để gửi lệnh TRIM thủ công đến thiết bị lưu trữ. Nó yêu cầu hệ thống tập tin (filesystem) giải phóng các khối dữ liệu không còn được sử dụng nữa.
Khi nào nên dùng fstrim?
Bạn nên quan tâm đến fstrim trong các trường hợp sau:
-
Sử dụng ổ SSD (vật lý hoặc ổ đĩa ảo trên cloud).
-
Filesystem là
ext4,xfs,btrfs, v.v. -
Chưa bật tùy chọn
discard(hoặc không muốn ảnh hưởng hiệu năng khi ghi).
Cách sử dụng
Thực hiện TRIM thủ công cho phân vùng root:
Ví dụ kết quả:
Lệnh trên cho biết dung lượng đã được “dọn sạch” khỏi SSD.
Lập lịch tự động với systemd
Hầu hết các bản phân phối hiện đại như Ubuntu, Debian, Fedora… đã tích hợp fstrim.timer:
-
Kiểm tra trạng thái:
-
Nếu chưa chạy, có thể kích hoạt:Edit
Mặc định, timer này sẽ chạy hàng tuần, thông qua fstrim.service.
Kiểm tra SSD có hỗ trợ TRIM không
Sử dụng lệnh sau:
Ý nghĩa:
-
DISC-GRAN > 0: thiết bị hỗ trợ TRIM. -
DISC-MAX: kích thước dữ liệu tối đa có thể TRIM một lần.
Một số lưu ý quan trọng
-
❌ Không áp dụng cho HDD: TRIM không dành cho ổ cứng cơ học, dùng sẽ gây lãng phí tài nguyên I/O.
-
⚠️ Cloud VM: Cần kiểm tra kỹ vì không phải nhà cung cấp nào cũng hỗ trợ TRIM trên đĩa ảo.
-
🔍 Filesystem hỗ trợ:
ext4,xfs,btrfshỗ trợ TRIM;ntfs,tmpfsthì không.ZFScó cơ chế riêng và không sử dụngfstrim.
So sánh: discard vs fstrim
| Phương pháp | Ưu điểm | Nhược điểm |
|---|---|---|
discard (mount) |
TRIM theo thời gian thực | Có thể ảnh hưởng đến hiệu năng ghi |
fstrim định kỳ |
Kiểm soát chủ động, hiệu năng ổn định | Phụ thuộc vào cron/systemd |
Tổng kết
fstrim là một công cụ nhỏ nhưng thể hiện sự quan tâm và chăm sóc hệ thống đúng cách. Không phải đợi đến khi hệ thống chậm hay gặp lỗi mới tối ưu, mà là chủ động bảo dưỡng để duy trì hiệu suất lâu dài.
Nếu bạn làm DevOps, quản trị hệ thống hoặc chỉ đơn giản là người dùng Linux sử dụng SSD — hãy thử kiểm tra xem fstrim đã được cấu hình chưa.
“Hiệu suất tối ưu là khi hệ thống không cần bạn chú ý mỗi ngày — nhưng vẫn luôn sẵn sàng khi bạn cần đến.”
