Giải thích chi tiết lệnh top -c trong Linux

Lệnh top -c là công cụ quen thuộc với bất kỳ ai quản trị server Linux. Chỉ cần một lần chạy lệnh, bạn có thể nắm được tình trạng CPU, RAM, swap và biết chính xác tiến trình nào đang tiêu thụ tài nguyên. Bài viết này giải thích từng phần trong kết quả của top -c một cách rõ ràng, dễ hiểu và sát với thực tế vận hành server.

Giải thích chi tiết lệnh top -c trong Linux

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

Lệnh top -c

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


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...