Cách tìm các chương trình sử dụng RAM, CPU trên Linux

Việc giám sát các tiến trình sử dụng tài nguyên hệ thống là thật sự quan trọng. Nó sẽ cho chúng ta biết những tiến trình nào đang chiếm dụng RAM, CPU. Từ đó, ta có thể nắm thông tin tài nguyên hệ thống, căn chỉnh cấu hình phù hợp, …

Mục lục
1. Theo dõi tiến trình sử dụng RAM
2. Theo dõi tiến trình sử dụng CPU
3. Theo dõi một tiến trình xác định

1. Thống kê theo phần trăm RAM sử dụng

Để xem các tiến trình sử dụng phần trăm (%) RAM nhiều nhất, ta sử dụng lệnh sau:

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem

Có thể thấy, ta sẽ nhận được danh sách rất dài các tiến trình đang trong hệ thống.

Để rút ngắn danh sách, ta thêm head để được danh sách 9 tiến trình sử dụng RAM nhiều nhất.

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

Lưu ý: Để xác định số process muốn hiển thị, ta thêm tùy chọn -n <số tiến trình + 1> sau head

Để theo dõi liên tục theo thời gian, dữ liệu cập nhật 1 giây 1 lần, ta dùng lệnh

watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

2. Thống kê theo phần trăm CPU sử dụng

Tương tự với RAM, ta chỉ cần đổi option --sort thành --sort=-%cpu

Xem 5 tiến trình sử dụng nhiều CPU nhất:

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6

Để theo dõi liên tục với dữ liệu cập nhật 1 giây 1 lần:

watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6'

3. Theo dõi một tiến trình xác định

Để xác định một tiến trình cụ thể, ta sử dụng thêm egrep để lọc kết quả.

Ví dụ: Ta theo dõi thông số sử dụng RAM và CPU của tiến trình Mysqld

watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu | egrep "mysqld"'

Ta sẽ thấy % RAM và % CPU sử dụng có các tiến trình Mysqld. Với câu lệnh trên thì :

  • 1 : phần trăm RAM sử dụng
  • 2 : phần trăm CPU sử dụng

Một số hình ảnh về một số tiến trình thông dụng:

Nginx

Nginx

SSHD

sshd

Influxd (Tiến trình dịch vụ InfluxDB)

influxd

Kết

Trên đây là một số mẹo nhỏ giúp bạn theo dõi các tiến trình một cách đơn giản hơn.

Leave a Reply

Your email address will not be published.