On this page (3)
Process

Phần đầu tiên: thời gian và Load Average
Trong ảnh của bạn:
top - 18:40:30 up 1:21, 1 user, load average: 0.00, 0.00, 0.00
Có 4 thông tin quan trọng.
18:40:30
Đây là giờ hiện tại của hệ thống.
18:40:30 up 1:21
Máy đã chạy được:
1 giờ 21 phút
Đây gọi là uptime.
Ví dụ:
up 5 days, 3:20
nghĩa là máy đã chạy liên tục 5 ngày 3 giờ 20 phút.
Bạn có thể xem riêng bằng:
uptime 3. 1 user 1 user
Có 1 user đang đăng nhập vào hệ thống.
Lưu ý: nó không có nghĩa là hệ thống chỉ có 1 user tồn tại.
Ví dụ hệ thống có:
root aws azure ubuntu
nhưng chỉ có aws đang login thì có thể:
1 user 4. Quan trọng: Load Average
Trong ảnh:
load average: 0.00, 0.00, 0.00
Ba con số này lần lượt là:
1 phút 5 phút 15 phút
Tức:
load average: 0.00 0.00 0.00 │ │ │ 1 min 5 min 15 min Load average không đơn giản là CPU %
Đây là chỗ người mới học Linux rất dễ nhầm.
Load average thể hiện mức độ công việc đang chờ được CPU hoặc một số tài nguyên hệ thống xử lý.
Ví dụ một CPU có:
load average: 1.00
thì có thể hiểu gần đúng là đang có khoảng 1 đơn vị công việc liên tục cần CPU.
Với máy 4 CPU:
load = 4.00
chưa chắc đã là quá tải.
Một cách trực quan:
CPU logical Load Ý nghĩa tương đối 1 0.5 khá nhẹ 1 1.0 CPU có thể đang bận liên tục 1 2.0 có công việc phải chờ 4 2.0 vẫn còn dư CPU 4 4.0 CPU đang khá đầy 4 8.0 có khá nhiều việc phải chờ
Nhưng load average không chỉ liên quan đến CPU; process ở trạng thái uninterruptible sleep, thường do I/O, cũng có thể làm load tăng.
Giải thích sự khác biệt giữa Orphan và Zombie Process:
Orphan Process (Tiến trình mồ côi):
-
Đặc điểm: Là tiến trình con vẫn đang chạy trong khi tiến trình cha của nó đã bị kết thúc (hoặc chết) trước đó.
-
Cơ chế: Hệ điều hành Linux sẽ tự động nhận nuôi tiến trình mồ côi này bằng cách gán nó cho tiến trình hệ thống init / systemd (PID 1)
Zombie Process (Tiến trình thây ma):
-
Đặc điểm: Là tiến trình con đã chạy xong và kết thúc công việc, nhưng tiến trình cha chưa đọc trạng thái thoát (exit status) của nó.
-
Cơ chế: Tiến trình này không còn thực thi code hay dùng RAM nữa, nhưng thông tin định danh của nó vẫn nằm lại trong bảng tiến trình (process table) của hệ thống cho đến khi tiến trình cha dọn dẹp nó.