Một trong số những công việc chúng ta cần phải làm đó là theo dõi tình trạng hệ thống. Trước đây mình đã từng giới thiệu công cụ Linfo nền web rồi, hôm nay mình sẽ giới thiệu một công cụ khác mà ai quản trị server cũng cần phải biết, đó là top.
top là một công cụ trong Linux giúp bạn có thể theo dõi tình trạng hệ thống, các process đang chạy, CPU, Memory theo thời gian thực.
Giao diện khi chạy lệnh top
Màn hình top cung cấp rất nhiều thông tin liên quan đến server, bao gồm thời gian uptime, load average, các task đang chạy, CPU usage, Memory, Swap.
1. Dòng đầu tiên sẽ cho chúng ta biết thời gian uptime của server và load average. Load average được tính mỗi 1, 5 và 15 phút để cung cấp cái nhìn sơ bộ toàn bộ hệ thống.
Lưu ý:
- Các con số hiển thị trong phần load average phụ thuộc vào số lượng CPU core của server. Ví dụ nếu server có 1 core thì maximum load là 1.00, với 2 core là 2.00 và cứ thế tăng dần.
- Thông thường nếu load average >= 0.7 chứng tỏ server bắt đầu có dấu hiệu quá tải. Bạn nên theo dõi và tìm hiểu tối ưu lại server hoặc code, nâng cấp phần cứng để đảm bảo load luôn dưới ngưỡng này.
2. Dòng tiếp theo là tình trạng các task đang chạy.
3. Dòng thứ 3 hiển thị % sử dụng CPU, bao gồm % CPU từ user (us
), system (sy
), low-priority processes (nice time, hoặc ni
), idle time (id
), wait for I/O processes (wa
), time handling hardware interruptions (hi
), time handling software interruptions (si
), stolen time from the virtual machine (st
).
4. Dòng thứ 4 hiển thị tình trạng sử dụng Memory theo kilobytes.
5. Tiếp theo là Swap theo kilobytes.
Đã xong những thông tin cơ bản của hệ thống. Tiếp theo bạn sẽ thấy danh sách các process đang chạy với một số thông tin quan trọng như: PID, USER, S, %CPU, %MEM, TIME+, COMMAND
- PID: Process ID.
- USER: Tên người dùng thực thi task. root là từ hệ thống.
- S: Tình trạng process, có thể là: running (
R
), sleeping and unable to be interrupted (D
), sleeping and able to be interrupted (S
), traced/stopped (T
), or zombie (Z
). - %CPU: % sử dụng CPU
- %MEM: % sử dụng Memory
- TIME+: Tổng số thời gian process đã chạy (tính cả child process nếu có).
- COMMAND: Tên process.
Trong lúc đang chạy lệnh top, bạn có thể tương tác bằng cách sử dụng các phím sau:
return
orspace
: Cập nhật tình trạng hệ thống ngay lập tức.d
ors
: Thay đổi thời gian cập nhật.U
oru
: Filter processes theo user.1
: Hiển thị load của từng CPU core hoặc toàn bộ.<
,>
: Sort column.k
: Kill process theo PID.h
: Mở trợ giúp.q
: Quit.
Ngoài ra có một số công cụ tương tự top
bạn có thể tham khảo thêm như htop
, iotop
.