Hệ điều hành MS Windows có Task Manager để quản lý hiệu suất và các tác vụ của máy tính theo thời gian thực với giao diện trực quan dễ hiểu. Còn đối với các hệ điều hành Linux thì sử dụng lệnh top với nhiều chi tiết hơn, nhưng các thông số nhìn trông hơi rối rắm, và khó hiểu. Cho nên mình viết bài này để giải thích về các thông số đó, hy vọng sẽ giúp các bạn biết được tài nguyên máy chủ của mình đang thừa hay thiếu, có nên nâng cấp hay không, hoặc để quản lý các tiến trình trên máy chủ hiệu quả hơn.

Giải thích các thông số

Trong màn hình trên các bạn có thể thấy có rất nhiều thông số, và được chia thành 2 phần riêng biệt. Giờ chúng ta cùng tìm hiểu từng phần một.

Phần trên

Phần trên có rất nhiều thông tin liên quan đến máy chủ của bạn như: thời gian đã hoạt động (uptime), mức tải trung bình (load average), tình trạng các tác vụ (tasks), CPU, RAM.
  1. Dòng 1: chứa thời gian uptime, mức tải trung bình – load average được thể hiện trong ba khoảng thời gian khác nhau: trong 1, 5 và 15 phút. Giá trị lớn nhất của load average phụ thuộc vào số lõi (core) của CPU, nếu CPU có:
    • 1 lõi: thì load average có giá trị lớn nhất là 1.00
    • 2 lõi: là 2.00
    • 8 lõi: là 8.00
  2. Dòng 2: số lượng các tác vụ, đang chạy, đang ở trạng thái nghỉ, đã dừng hẳn, chưa dừng hẳn (hoặc bị treo).
  3. Dòng 3: phần trăm tải của CPU, bao gồm:
    • %us (user cpu time): phần trăm do tiến trình của người dùng (non root) sử dụng
    • %sy (system cpu time): phần trăm do tiến trình của hệ thống (root) sử dụng
    • %ni (user nice cpu time): phần trăm do các tiến trình có mức độ ưu tiên thấp sử dụng
    • %id (idle cpu time): phần trăm CPU đang rảnh
    • %wa (io wait cpu time): phần trăm CPU để đợi trong khi các tiến trình I/O đang xử lý
    • %hi (hardware irq): phần trăm để xử lý gián đoạn phần cứng
    • %si (software irq): phần trăm để xử lý gián đoạn phần mềm
    • %st (steal time): phần trăm do máy ảo sử dụng
  4. Dòng 4: Thống kê về lượng RAM được sử dụng, tính theo KB.
  5. Dòng 5: Thống kê về lượng Swap (RAM ảo) được sử dụng, tính theo KB.

Phần dưới

Phần dưới dùng để theo dõi cụ thể các tiến trình đang chạy trên server cùng với các thông tin liên quan đến nó.
  1. PID (process ID): ID của tiến trình.
  2. USER: Chủ nhân (owner) của tiến trình.
  3. PR (priority): Mức độ ưu tiên của tiến trình, từ -20 (rất quan trọng) đến 19 (không quan trọng).
  4. NI (nice value): Giá trị sửa đổi mức độ ưu tiên của tiến trình, giá trị này được gọi là nice bởi vì nó được coi là tốt hơn giá trị cũ ở cột PR.
  5. VIRT (virtual memory): Bộ nhớ ảo đã sử dụng, bộ nhớ ảo này là sự kết hợp giữa RAM và swap.
  6. RES (resident memory): Bộ nhớ vật lý (RAM) do tiến trình sử dụng, tính theo KB.
  7. SHR (shared memory): Bộ nhớ chia sẻ do tiến trình sử dụng, bộ nhớ chia sẻ là bộ nhớ dùng chung với các tiến trình khác.
  8. S: Trạng thái của tiến trình:
    • R (running): đang chạy
    • D (sleeping): đang tạm nghỉ, có thể không bị gián đoạn (interrupted)
    • S (sleeping): đang tạm nghỉ, có thể bị gián đoạn (interrupted)
    • T: đã dừng hẳn
    • Z (zombie): chưa dừng hẳn (hoặc bị treo)
    Các trạng thái này có liên quan đến thống kê số lượng các tác vụ ở phần trên.
  9. %CPU: Phần trăm CPU do tiến trình sử dụng (trong lần cập nhật cuối – không phải thời gian thực).
  10. %MEM: Phần trăm RAM do tiến trình sử dụng (trong lần cập nhật cuối – không phải thời gian thực).
  11. TIME+: Thời gian cộng dồn mà tiến trình (gồm cả tiến trình con) đã chạy.
  12. COMMAND: Tên của tiến trình hoặc đường dẫn đến lệnh dùng để khởi động tiến trình đó.

Bài viết tham khảo.

Hướng dẫn kích hoạt WordPress Multisite trên Server

Thay đổi Timezone trên CentOS

Danh sách port POP3 & SMTP Email Server

Cài đặt Mail Server dễ dàng với Mail-in-a-Box

Các câu lệnh (command) cơ bản trên Server Linux

Hướng dẫn cài đặt email zimbra 8.7 trên CentOS 7.x