Lệnh top -c dùng để làm gì
top là công cụ theo dõi hệ thống theo thời gian thực. Tham số -c cho phép hiển thị đầy đủ câu lệnh khởi chạy của tiến trình, thay vì chỉ hiện tên ngắn. Điều này rất hữu ích khi kiểm tra PHP-FPM, cronjob, service chạy ngầm hoặc các tiến trình bất thường.
Dòng trạng thái tổng quan của top

Ví dụ:
top – 04:51:18 up 3 days, 23:50, 1 user, load average: 0.76, 0.69, 0.49
- 04:51:18: Thời gian hiện tại của server
- up 3 days, 23:50: Thời gian server hoạt động liên tục
- 1 user: Số người đang đăng nhập
- load average: Tải hệ thống trong 1, 5 và 15 phút
Load average phản ánh số tiến trình đang chờ CPU. Khi load nhỏ hơn số core CPU, server vẫn hoạt động ổn định.
Danh sách tiến trình và trạng thái
Ví dụ:
Tasks: 155 total, 1 running, 154 sleeping, 0 stopped, 0 zombie
- total: Tổng số tiến trình
- running: Tiến trình đang sử dụng CPU
- sleeping: Tiến trình đang chờ xử lý
- stopped: Tiến trình bị dừng
- zombie: Tiến trình đã kết thúc nhưng chưa được dọn dẹp
Zombie xuất hiện là dấu hiệu cần kiểm tra lại ứng dụng hoặc service cha.
Ý nghĩa các thông số CPU
Ví dụ:
%Cpu(s): 7.1 us, 0.8 sy, 0.0 ni, 91.7 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
- us: CPU dùng cho ứng dụng người dùng như PHP, Nginx
- sy: CPU dùng cho kernel
- ni: CPU dành cho tiến trình có ưu tiên thấp
- id: CPU đang rảnh
- wa: CPU chờ I/O, thường liên quan đến ổ đĩa
- hi: Hardware interrupt
- si: Software interrupt
- st: CPU bị hypervisor chiếm trên máy ảo
CPU idle cao cho thấy server còn nhiều tài nguyên trống.
Bộ nhớ RAM và cache
Ví dụ:
MiB Mem: 7941 total, 851 free, 1486 used, 5969 buff/cache
- free: RAM trống hoàn toàn
- used: RAM đang được ứng dụng sử dụng
- buff/cache: RAM dùng để cache dữ liệu
Linux tận dụng RAM để cache nhằm tăng hiệu năng. Vì vậy RAM free thấp không đồng nghĩa với thiếu RAM. Thông số cần quan tâm là lượng bộ nhớ có thể dùng ngay.
Swap và dấu hiệu quá tải bộ nhớ
Swap được dùng khi RAM vật lý không đủ. Một lượng swap nhỏ được sử dụng trong thời gian dài là bình thường. Tuy nhiên, nếu swap tăng nhanh kèm CPU cao, hệ thống đang gặp vấn đề về bộ nhớ.
Ý nghĩa các cột trong danh sách tiến trình
- PID: Mã tiến trình
- USER: User chạy tiến trình
- VIRT: Bộ nhớ ảo được cấp phát
- RES: Bộ nhớ thực tế đang dùng
- S: Trạng thái tiến trình
- %CPU: Phần trăm CPU sử dụng
- %MEM: Phần trăm RAM sử dụng
- TIME+: Tổng thời gian CPU đã dùng
- COMMAND: Lệnh đầy đủ của tiến trình
Khi phân tích hiệu năng, nên tập trung vào cột RES, %CPU và COMMAND.
Các phím tắt thường dùng trong top
- P: Sắp xếp theo CPU
- M: Sắp xếp theo RAM
- c: Bật hoặc tắt hiển thị command đầy đủ
- 1: Hiển thị từng CPU core
- k: Kết thúc tiến trình
- q: Thoát top
Kết luận
Nắm vững lệnh top -c giúp bạn nhanh chóng đánh giá tình trạng server, phát hiện sớm vấn đề về CPU, bộ nhớ hoặc tiến trình bất thường. Đây là công cụ không thể thiếu khi vận hành hệ thống Linux, đặc biệt với các server chạy web, database hoặc ứng dụng có lưu lượng truy cập cao.
Bình luận