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
SSHD
Influxd (Tiến trình dịch vụ InfluxDB)
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.
Xem thêm: Chuỗi bài viết về các mẹo hay của Onet.