1. Tổng quan về tiến trình và tài nguyên trong Linux
Trong Linux, mọi chương trình đang chạy đều là một tiến trình (process). Hệ điều hành chịu trách nhiệm phân bổ và điều phối các tài nguyên hệ thống cho các tiến trình này, bao gồm:
CPU (thời gian xử lý)
RAM (bộ nhớ)
Swap
I/O (đĩa, mạng)
PID (Process ID)
Việc theo dõi, phân tích và kiểm soát tiến trình là kỹ năng cốt lõi đối với:
Người dùng Linux nâng cao
Quản trị hệ thống (System Administrator)
DevOps, SRE
Môi trường máy chủ, container, cloud
Linux cung cấp nhiều ứng dụng dòng lệnh mạnh mẽ để quản lý tiến trình và tài nguyên, từ mức cơ bản đến chuyên sâu.
2. Lệnh ps – Xem danh sách tiến trình
2.1. Chức năng
ps (process status) dùng để hiển thị ảnh chụp tức thời của các tiến trình đang chạy.
2.2. Cách dùng phổ biến
Hiển thị các tiến trình của terminal hiện tại.
Hiển thị tất cả tiến trình trong hệ thống, bao gồm:
Tiến trình người dùng
Tiến trình hệ thống
Daemon
2.3. Giải thích một số cột quan trọng
USER: người sở hữu tiến trình
PID: mã tiến trình
%CPU: tỷ lệ CPU đang sử dụng
%MEM: tỷ lệ RAM đang sử dụng
VSZ / RSS: bộ nhớ ảo / bộ nhớ thực
STAT: trạng thái tiến trình
COMMAND: lệnh khởi chạy tiến trình
2.4. Kết hợp với grep
Dùng để tìm nhanh tiến trình theo tên.
3. Lệnh top – Giám sát hệ thống theo thời gian thực
3.1. Chức năng
top hiển thị tình trạng hệ thống theo thời gian thực, bao gồm:
CPU usage
RAM, Swap
Danh sách tiến trình sắp xếp theo mức tiêu thụ tài nguyên
3.2. Cách sử dụng
3.3. Các phím thao tác quan trọng trong top
q: thoátP: sắp xếp theo CPUM: sắp xếp theo RAMk: kết thúc (kill) tiến trình1: hiển thị CPU từng core
3.4. Khi nào dùng top
Server chậm bất thường
CPU load cao
Nghi ngờ memory leak
Kiểm tra tiến trình “ăn tài nguyên”
4. Lệnh htop – Phiên bản nâng cao của top
4.1. Giới thiệu
htop là công cụ trực quan và thân thiện hơn top, thường được cài thêm.
4.2. Ưu điểm của htop
Giao diện màu sắc rõ ràng
Hiển thị CPU từng core
Cuộn danh sách tiến trình
Kill tiến trình bằng phím chức năng
4.3. Khi nên ưu tiên htop
Giám sát thường xuyên
Quản trị server
Môi trường production
5. Lệnh free – Kiểm tra bộ nhớ RAM
5.1. Cách dùng
5.2. Ý nghĩa các cột
total: tổng RAM
used: RAM đang sử dụng
free: RAM trống
shared: RAM chia sẻ
buff/cache: bộ nhớ đệm
available: RAM thực sự có thể dùng
Lưu ý: Linux sử dụng RAM làm cache là bình thường, không phải lãng phí.
6. Lệnh vmstat – Thống kê tài nguyên tổng hợp
6.1. Chức năng
vmstat cung cấp thông tin:
Bộ nhớ
Swap
CPU
I/O
6.2. Ví dụ
Cập nhật trạng thái hệ thống mỗi giây.
6.3. Ứng dụng thực tế
Phân tích bottleneck
Phát hiện thiếu RAM
Kiểm tra hệ thống có swap nhiều hay không
7. Lệnh iostat – Theo dõi I/O đĩa
7.1. Chức năng
Giám sát hoạt động đọc/ghi của ổ đĩa.
7.2. Khi nào cần iostat
Hệ thống chậm dù CPU/RAM thấp
Nghi ngờ nghẽn I/O
Máy chủ cơ sở dữ liệu
8. Lệnh kill, pkill, nice – Kiểm soát tiến trình
8.1. kill – Kết thúc tiến trình
-9: ép buộc dừng (SIGKILL)
8.2. pkill – Kết thúc theo tên
8.3. nice và renice – Điều chỉnh ưu tiên CPU
Giá trị nice:
-20: ưu tiên cao nhất
19: ưu tiên thấp nhất
9. Tình huống thực tế trong quản trị hệ thống
9.1. Server chậm
Dùng
top/htopxác định tiến trình gây tảiKiểm tra RAM bằng
free -hKiểm tra I/O bằng
iostat
9.2. Ứng dụng bị treo
Tìm PID bằng
psKill tiến trình an toàn
Kiểm tra log kết hợp
journalctl
10. Tổng kết
Trong Linux, quản lý tiến trình và tài nguyên không phải là tùy chọn, mà là kỹ năng bắt buộc. Các công cụ như:
pstop/htopfreevmstatiostatkill,nice
giúp người dùng:
Hiểu rõ trạng thái hệ thống
Phát hiện sớm sự cố
Tối ưu hiệu năng
Đảm bảo ổn định cho môi trường production
- Đăng nhập để gửi ý kiến