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.
- 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
- Chạy
uptimexem load. - Chạy
free -hxem RAM/swap. - Chạy
ps aux --sort=-%cpu | head. - Đọc log service nghi ngờ.
- 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.
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
- Chạy
uptime,nproc,free -h. - Tìm 5 process dùng CPU cao nhất.
- Tìm 5 process dùng RAM cao nhất.
- Viết checklist xử lý “server chậm”.
