Tổng quan về lệnh top
Lệnh top (table of processes) là một trong những công cụ quản trị hệ thống phổ biến nhất trên các bản phân phối Linux. Công cụ này cung cấp một cái nhìn toàn diện và thời gian thực về các tài nguyên hệ thống, bao gồm mức sử dụng CPU, dung lượng bộ nhớ RAM, cũng như danh sách các tiến trình đang hoạt động.
Cú pháp và các tham số khởi chạy
Để khởi động trình giám sát, bạn sử dụng cú pháp cơ bản sau:
top [-d giây] [-b] [-n số_lần] [-p PID]
Các tùy chọn phổ biến bao gồm:
-d: Xác định khoảng thời gian làm mới dữ liệu (mặc định là 5 giây). Ví dụ:top -d 2để cập nhật mỗi 2 giây.-b: Chế độ Batch (lô), thường dùng để ghi kết quả ra file hoặc kết hợp với các lệnh khác.-n: Số lượng mẫu dữ liệu sẽ xuất ra trước khi lệnh tự động kết thúc (thường dùng kèm với-b).-p: Chỉ theo dõi một hoặc nhiều ID tiến trình (PID) cụ thể.
Các phím tắt điều khiển trong giao diện tương tác
Khi top đang chạy, bạn có thể sử dụng các phím tắt sau để lọc và sắp xếp dữ liệu:
P: Sắp xếp danh sách dựa trên mức độ chiếm dụng CPU.M: Sắp xếp danh sách dựa trên mức độ sử dụng bộ nhớ RAM.N: Sắp xếp theo số PID (Process ID).T: Sắp xếp theo thời gian chạy tích lũy của tiến trình.k: Gửi tín hiệu để đóng (kill) một tiến trình thông qua PID.r: Thay đổi độ ưu tiên (nice value) của một tiến trình.q: Thoát khỏi giao diệntop.
Phân tích chi tiết các thông số đầu ra
1. Thông tin tổng quan hệ thống (Dòng 1)
top - 10:30:15 up 50 days, 12:45, 2 users, load average: 0.15, 0.08, 0.02
| Thông số | Ý nghĩa |
|---|---|
| 10:30:15 | Giờ hiện tại của hệ thống. |
| up 50 days... | Thời gian hệ thống đã hoạt động liên tục (uptime). |
| 2 users | Số lượng người dùng đang đăng nhập. |
| load average | Chỉ số tải trung bình của hệ thống trong 1, 5 và 15 phút qua. Nếu chỉ số này chia cho số nhân CPU lớn hơn 1, hệ thống đang có dấu hiệu quá tải. |
2. Trạng thái tiến trình (Dòng 2)
Tasks: 250 total, 2 running, 248 sleeping, 0 stopped, 0 zombie
Dòng này liệt kê tổng số tiến trình và phân loại chúng theo trạng thái: đang chạy (running), đang ngủ (sleeping), đã dừng (stopped) hoặc tiến trình thây ma (zombie - tiến trình đã kết thúc nhưng chưa được giải phóng khỏi bảng tiến trình).
3. Hiệu suất CPU (Dòng 3)
%Cpu(s): 1.2 us, 0.5 sy, 0.0 ni, 98.0 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
us(user): Thời gian CPU xử lý các tiến trình của người dùng.sy(system): Thời gian CPU xử lý các tác vụ của nhân (kernel).id(idle): Tỷ lệ CPU đang rảnh rỗi.wa(iowait): Thời gian CPU chờ đợi các thao tác I/O (như đọc/ghi đĩa).st(steal time): Thời gian CPU bị chiếm dụng bởi ảo hóa (hypervisor).
4. Quản lý bộ nhớ (Dòng 4 và 5)
KiB Mem : 16384000 total, 4000000 free, 8000000 used, 4384000 buff/cache
KiB Swap: 2048000 total, 2048000 free, 0 used. 7500000 avail Mem
Các dòng này cung cấp chi tiết về bộ nhớ vật lý (RAM) và bộ nhớ ảo (Swap), bao gồm tổng dung lượng, lượng đang dùng, lượng còn trống và lượng dùng cho bộ đệm (buffer/cache).
5. Bảng chi tiết tiến trình
| Cột | Mô tả |
|---|---|
| PID | ID duy nhất của tiến trình. |
| USER | Tài khoản sở hữu tiến trình. |
| PR / NI | Độ ưu tiên điều phối và giá trị Nice (mức độ "nhường nhịn" tài nguyên). |
| VIRT | Tổng bộ nhớ ảo tiến trình đang chiếm dụng. |
| RES | Bộ nhớ vật lý thực tế tiến trình đang sử dụng (Resident Size). |
| S | Trạng thái: R (Running), S (Sleeping), D (Uninterruptible sleep), Z (Zombie). |
| %CPU | Tỷ lệ phần trăm CPU tiến trình sử dụng từ lần cập nhật trước. |
| %MEM | Tỷ lệ phần trăm bộ nhớ RAM tiến trình sử dụng. |
| COMMAND | Tên lệnh hoặc đường dẫn thực thi của tiến trình. |