Bài 06: Process, CPU, RAM và tài nguyên hệ thống

Bài 06: Process, CPU, RAM và tài nguyên hệ thống

Bài này giúp anh đọc tình trạng tài nguyên Linux, hiểu process, load average, CPU, RAM và cách xử lý khi server chậm.

Sau bài này anh sẽ biết:

  • Process là gì.
  • Đọc top, ps, free, uptime.
  • Hiểu load average ở mức thực hành.
  • Tìm process ngốn CPU/RAM.

1. Process là gì?

Process là chương trình đang chạy. Nginx, MySQL, SSH, cron đều có process. Mỗi process có PID, user sở hữu và mức dùng CPU/RAM.

2. Lệnh quan sát nhanh

uptime
free -h
top
ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head

uptime cho load average. free -h xem RAM. ps tìm process dùng tài nguyên cao.

3. Hiểu load average đơn giản

Load average là số lượng công việc đang chạy/chờ CPU hoặc I/O. Với server 2 CPU, load 1–2 có thể bình thường; load 20 thì cần điều tra.

nproc
uptime

nproc cho biết số CPU core logic.

4. Lab: tìm process tiêu thụ tài nguyên

ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10
pidof nginx
systemctl status nginx

Khi thấy process lạ hoặc tăng tài nguyên, đừng kill ngay. Hãy biết nó thuộc service nào.

5. Tình huống thực tế: server chậm

  1. Chạy uptime xem load.
  2. Chạy free -h xem RAM/swap.
  3. Chạy ps aux --sort=-%cpu | head.
  4. Đọc log service nghi ngờ.
  5. Nếu cần restart, ghi lại nguyên nhân trước.

6. Kill process thế nào cho đúng?

kill PID
kill -15 PID
kill -9 PID

kill -15 yêu cầu process dừng nhẹ nhàng. kill -9 ép dừng, chỉ dùng khi cần vì có thể gây mất trạng thái.

Lưu ý production: Không kill database/web process nếu chưa hiểu impact. Ưu tiên restart bằng systemctl để service khởi động lại đúng cách.

7. Checklist xử lý CPU/RAM cao

  • Xem load và số CPU.
  • Xem RAM/swap.
  • Tìm process top CPU/RAM.
  • Đọc log ứng dụng.
  • Xác định có deploy/job bất thường không.
  • Ghi lại trước khi restart/kill.

8. Bài tập

  1. Chạy uptime, nproc, free -h.
  2. Tìm 5 process dùng CPU cao nhất.
  3. Tìm 5 process dùng RAM cao nhất.
  4. Viết checklist xử lý “server chậm”.

Tác giả: Mạnh Hoàng

Tôi là Hoàng Mạnh, người sáng lập blog SysadminSkills.com. Tôi viết về quản trị hệ thống, bảo mật máy chủ, DevOps và cách ứng dụng AI để tự động hóa công việc IT. Blog này là nơi tôi chia sẻ những gì đã học được từ thực tế – đơn giản, ngắn gọn và áp dụng được ngay.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *