Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

Bài 5. Ứng dụng quản lý tiến trình và tài nguyên

ICT

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

 
ps

Hiển thị các tiến trình của terminal hiện tại.

 
ps aux

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

 
ps aux | grep nginx

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

 
top

3.3. Các phím thao tác quan trọng trong top

  • q: thoát

  • P: sắp xếp theo CPU

  • M: sắp xếp theo RAM

  • k: kết thúc (kill) tiến trình

  • 1: 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.

 
sudo apt install htop

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

free
free -h

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ụ

 
vmstat 1

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.

 
sudo apt install sysstat
iostat

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

kill PID
kill -9 PID
  • -9: ép buộc dừng (SIGKILL)

8.2. pkill – Kết thúc theo tên

pkill nginx

8.3. nicerenice – Điều chỉnh ưu tiên CPU

nice -n 10 command
renice -n -5 PID

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 / htop xác định tiến trình gây tải

  • Kiểm tra RAM bằng free -h

  • Kiểm tra I/O bằng iostat

9.2. Ứng dụng bị treo

  • Tìm PID bằng ps

  • Kill 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ư:

  • ps

  • top / htop

  • free

  • vmstat

  • iostat

  • kill, 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