Lệnh iotop
trong Linux là công cụ dòng lệnh giúp giám sát hoạt động I/O của ổ đĩa theo thời gian thực. Trong bài viết này, bạn sẽ hiểu rõ iotop
là gì, cú pháp và các tùy chọn phổ biến, cũng như cách sử dụng phím tắt để điều khiển nhanh hơn. Mình cũng sẽ hướng dẫn cách cài đặt iotop
dễ dàng trên nhiều hệ điều hành Linux khác nhau và áp dụng vào các tình huống thực tế như ghi nhật ký I/O.
Điểm chính cần nắm
- Lệnh iotop trong Linux là gì?: Giới thiệu ngắn gọn về công cụ iotop và mục đích sử dụng trong việc giám sát I/O đĩa.
- Cú pháp của lệnh iotop: Trình bày cú pháp chung của lệnh cùng các tùy chọn và phím tắt thường dùng.
- Cài đặt iotop trên Linux dễ dàng: Hướng dẫn chi tiết cách cài đặt iotop từ việc cập nhật hệ thống đến sử dụng công cụ.
- Vietnix – Tăng tốc độ website với dịch vụ VPS: Giới thiệu dịch vụ VPS chất lượng cao từ Vietnix, hỗ trợ tăng hiệu suất web.
- FAQ: Tổng hợp các câu hỏi thường gặp liên quan đến lệnh iotop trong Linux và cách sử dụng.
Lệnh iotop trong Linux là gì?
Lệnh iotop
là một công cụ dòng lệnh mã nguồn mở dùng để giám sát hoạt động I/O (Input/Output) của đĩa cứng trên hệ điều hành Linux theo thời gian thực (real time). iotop
hoạt động tương tự như lệnh top
, nhưng thay vì hiển thị mức sử dụng CPU hay RAM, iotop
tập trung vào việc theo dõi các tiến trình hoặc luồng đang đọc và ghi dữ liệu từ ổ đĩa.

Mục đích chính của iotop
:
- Xác định tiến trình gây tải I/O lớn.
- Phân tích nguyên nhân gây chậm trễ, nghẽn cổ chai liên quan đến hoạt động đĩa.
- Hỗ trợ quản trị viên hệ thống trong việc theo dõi, xử lý và tối ưu hiệu năng hệ thống.
Một số điểm nổi bật
- Hiển thị tốc độ đọc/ghi dữ liệu theo từng tiến trình.
- Cho biết thời gian tiến trình chờ I/O hoặc bị swap.
- Giao diện dạng bảng dễ theo dõi, phân theo quy trình hoặc luồng.
- Hỗ trợ nhiều tuỳ chọn lọc và hiển thị nâng cao như chỉ hiển thị tiến trình đang hoạt động I/O thực sự (
--only
), hiển thị theo PID, theo user, hoặc ghi log ở chế độ nền.
Đặc điểm kỹ thuật
iotop
được viết bằng ngôn ngữ Python.- Yêu cầu một số tính năng từ Linux Kernel ≥ 2.6.20 (có hỗ trợ
taskstats
) và Python ≥ 2.7. - Yêu cầu quyền root để có thể truy cập dữ liệu I/O của hệ thống chính xác.
Cú pháp của lệnh iotop
iotop [TÙY_CHỌN]
Lệnh cần được chạy với quyền root (hoặc dùng sudo
) để hiển thị đầy đủ thông tin I/O của tiến trình.
sudo iotop
Hiển thị bảng theo dõi I/O theo thời gian thực với tất cả các tiến trình.
Tùy chọn của lệnh iotop phổ biến
Tùy chọn | Ý nghĩa |
---|---|
-o , --only | Chỉ hiển thị các tiến trình đang hoạt động I/O, giúp dễ theo dõi hơn. |
-b , --batch | Chạy iotop ở chế độ không tương tác, phù hợp để ghi log. |
-n NUM , --iter=NUM | Chạy iotop với số lần lặp nhất định rồi tự thoát (dùng với chế độ batch). |
-d SEC , --delay=SEC | Đặt thời gian chờ giữa các lần cập nhật (mặc định là 1 giây). |
-p PID , --pid=PID | Chỉ theo dõi tiến trình có mã PID cụ thể. |
-u USER , --user=USER | Theo dõi tiến trình của user cụ thể. |
-P , --processes | Chỉ hiển thị tiến trình, không hiển thị theo luồng. |
-a , --accumulated | Hiển thị tổng I/O tích lũy kể từ khi chạy iotop . |
-k , --kilobytes | Hiển thị đơn vị là kilobytes thay vì đơn vị dễ đọc (KB, MB). |
-t , --time | Thêm dấu thời gian vào mỗi dòng log (hữu ích khi ghi log). |
-q , --quiet | Giảm bớt các dòng header khi ghi log (dùng chung với --batch ). |
-h , --help | Hiển thị trợ giúp. |
--version | Hiển thị phiên bản của iotop . |
Phím tắt khi sử dụng iotop
Phím | Chức năng |
---|---|
o | Bật/tắt chế độ chỉ hiển thị tiến trình đang sử dụng I/O (--only ). |
p | Bật/tắt chế độ chỉ hiển thị tiến trình (không hiển thị luồng). |
a | Hiển thị I/O tích lũy kể từ lúc iotop chạy. |
r | Đảo ngược thứ tự sắp xếp. |
Left/Right | Thay đổi cột sắp xếp (chọn cột theo dõi). |
i | Thay đổi mức độ ưu tiên I/O (ionice). |
q | Thoát iotop . |
Một số ví dụ cụ thể
- Chỉ hiển thị tiến trình đang tạo I/O:
sudo iotop -o
- Ghi log I/O mỗi phút (thêm vào cron):
* * * * * root iotop -botqqq >> /var/log/iotop.log
- Theo dõi PID cụ thể:
sudo iotop -p 1234
- Hiển thị I/O tích lũy:
sudo iotop -a
Cài đặt iotop trên Linux dễ dàng
Điều kiện cần trước khi cài đặt:
- Kernel của máy chủ phải từ phiên bản 2.6.20 trở lên.
- Python trên máy chủ phải từ phiên bản 2.7 trở lên.
- Bạn có thể kiểm tra phiên bản bằng lệnh:
uname -r
python -V

Bước 1: Cập nhật hệ thống và kiểm tra phiên bản
Tùy vào bản phân phối bạn đang sử dụng, chọn lệnh tương ứng:
- Debian / Ubuntu / Linux Mint
sudo apt update
sudo apt install iotop
- CentOS / RHEL / AlmaLinux / Rocky Linux
Với RHEL 8+ và CentOS 8+, dùng dnf
:
sudo dnf install iotop
Trên CentOS/RHEL 7, dùng:
sudo yum install iotop
sudo dnf install iotop
- Arch Linux / Manjaro
sudo pacman -S iotop
- OpenSUSE / SUSE Linux Enterprise
sudo zypper install iotop
Sau đó kiểm tra lại phiên bản Kernel và Python:
uname -r
python -V
Bước 2: Tải và cài đặt iotop từ nguồn
- Tải gói cài đặt iotop:
wget http://guichaz.free.fr/iotop/files/iotop-0.6.tar.bz2
- Giải nén gói vừa tải:
tar -xjvf iotop-0.6.tar.bz2
- Vào thư mục iotop vừa giải nén:
cd iotop-0.6/
- Cài đặt iotop:
sudo ./setup.py install
Bước 3: Sử dụng iotop để giám sát I/O
- Chạy iotop ở chế độ mặc định:
sudo iotop
- Chỉ hiển thị những tiến trình thực sự đang sử dụng I/O:
sudo iotop -o
Hoặc bạn có thể dùng lệnh:
sudo iotop --only
Bước 4: Ghi nhật ký I/O với iotop
Bạn có thể tạo cron job để ghi nhật ký iotop định kỳ:
* * * * * root iotop -botqqq >> /var/log/iotop
-b
: Chạy ở chế độ batch (không tương tác)-o
: Chỉ hiển thị tiến trình có I/O-t
: Thêm timestamp-q
: Giảm dòng tiêu đề
Vietnix – Tăng tốc độ website với dịch vụ VPS
Vietnix cung cấp dịch vụ hosting và VPS hiệu suất cao, được tối ưu để đảm bảo tốc độ tải nhanh, khả năng xử lý ổn định, cùng hệ thống bảo mật hiện đại giúp website của bạn luôn an toàn và hoạt động trơn tru. Hạ tầng của Vietnix được xây dựng trên nền tảng máy chủ mạnh mẽ, đặt tại trung tâm dữ liệu tiêu chuẩn quốc tế, đi kèm là đội ngũ kỹ thuật chuyên nghiệp sẵn sàng hỗ trợ 24/7. Bất kể bạn là cá nhân, doanh nghiệp nhỏ hay hệ thống lớn, Vietnix đều có giải pháp lưu trữ phù hợp, giúp tiết kiệm chi phí mà vẫn đảm bảo hiệu năng vượt trội.
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.
Câu hỏi thường gặp
Vì sao iotop
có thể không hiển thị dữ liệu I/O?
Có thể do kernel không bật CONFIG_TASKSTATS
hoặc tiến trình không thực hiện I/O trong lúc đo. Hãy kiểm tra kernel hoặc chạy lệnh đúng lúc có I/O.
Có thể giám sát tiến trình từ container (Docker) bằng iotop
không?
Không trực tiếp. iotop
chạy trong host OS. Nếu tiến trình trong container tạo I/O, bạn cần chạy iotop
ở host để theo dõi hoặc dùng iotop
trong chính container nếu đủ quyền.
iotop
có phù hợp với hệ thống dùng SSD không?
Có, nhưng tốc độ cao của SSD có thể khiến hoạt động I/O diễn ra nhanh chóng, nên cần kết hợp với lệnh -d
(delay) hoặc tăng thời gian giám sát.
iotop
có hỗ trợ hiển thị theo đơn vị kilobyte không?
Có. Dùng tùy chọn -k
để chuyển đổi đơn vị hiển thị sang kilobyte thay vì dạng thân thiện.
Có thể viết script sử dụng iotop
để tự động phát hiện tiến trình “ngốn” đĩa không?
Có. Kết hợp iotop -bo
và grep + awk để lọc tiến trình có %IO cao, gửi alert hoặc kill tự động.
Lời kết
Sử dụng lệnh iotop
giúp bạn nắm bắt nhanh các tiến trình gây tải ổ đĩa, từ đó tối ưu hiệu năng hệ thống một cách chủ động. Nếu bạn có bất cứ thắc mắc nào liên quan đến cách cài đặt, sử dụng hay xử lý sự cố với iotop
, hãy để lại bình luận bên dưới. Ngoài ra, đừng ngần ngại liên hệ để được hỗ trợ chi tiết hơn. Và nếu bạn đang tìm một nền tảng hosting mạnh mẽ để vận hành website mượt mà hơn, Vietnix là lựa chọn đáng để bạn cân nhắc.
Mọi người cũng xem: