Tìm các tiến trình đang chạy theo mức sử dụng CPU và bộ nhớ cao nhất trong Linux

Trong bài viết này chúng tôi sẽ chia sẻ một mẹo để tìm ra các tiến trình đang chạy tiêu thụ nhiều bộ nhớ và tài nguyên CPU trên Linux. Quản trị viên hệ thống hiệu quả là những người lười biếng? Nguyên nhân không phải là họ không làm việc hoặc phí hoạt động thời gian - mà chủ yếu là vì họ đã tự động hóa một phần lớn các nhiệm vụ hàng ngày. Do đó, họ không cần phải trông nom máy chủ của mình và có thể dùng thời gian để học các công nghệ mới và luôn giữ vững vị trí hàng đầu.

Một phần trong việc tự động hoá các nhiệm vụ là học cách cho một tập lệnh thực hiện những gì bạn đã phải tự làm nếu không. Tiếp tục thêm các lệnh vào cơ sở kiến thức của bạn là một điều quan trọng không kém.

Find Linux Processes By RAM and CPU Usage
Tìm các tiến trình Linux theo RAM và CPU sử dụng

Kiểm tra các quy trình hàng đầu được sắp xếp theo mức sử dụng RAM hoặc CPU trong Linux

Lệnh sau sẽ hiển thị danh sách các tiến trình hàng đầu được sắp xếp theo RAM và sử dụng CPU theo thứ tự giảm dần (hãy loại bỏ pipeline và head nếu bạn muốn xem danh sách đầy đủ):

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

Kết quả mẫu:

PID  	PPID 	CMD                      	%MEM 	%CPU
2591	2113 	/usr/lib/firefox/firefox    7.3 	43.5
2549   2520 	/usr/lib/virtualbox/Virtual 3.4  	8.2
2288       1 	/home/gacanepa/.dropbox-dis	1.4	0.3
1889   1543	c:\TeamViewer\TeamViewer.ex	1.0	0.2
2113	1801	/usr/bin/cinnamon		0.9	3.5
2254	2252	python /usr/bin/linuxmint/m	0.3	0.0
2245	1801	nautilus -n			0.3	0.1
1645	1595	/usr/bin/X :0 -audit 0 -aut	0.3	2.5
Find Top Processes By RAM and CPU Usage
Tìm các tiến trình hàng đầu theo RAM và CPU sử dụng

Giải thích ngắn gọn về các tùy chọn được sử dụng trong lệnh trên:

Tùy chọn -o (hoặc –format) của ps cho phép bạn chỉ định định dạng đầu ra. Một tùy chọn ưa thích của tôi là hiển thị PIDs của các tiến trình (pid), PPIDs của các tiến trình cha (pid), tên tệp thực thi liên quan đến tiến trình (cmd), và sử dụng bộ nhớ và CPU (%mem và %cpu, tương ứng).

Ngoài ra, tôi sử dụng --sort để sắp xếp theo %mem hoặc %cpu. Mặc định, đầu ra sẽ được sắp xếp theo thứ tự tăng dần, nhưng cá nhân tôi thích đảo ngược thứ tự đó bằng cách thêm một dấu trừ phía trước tiêu chí sắp xếp.

Để thêm các trường khác vào đầu ra hoặc thay đổi tiêu chí sắp xếp, xem phần OUTPUT FORMAT CONTROL trong trang man của các lệnh ps.

Kết luận

Giám sát tiến trình là một trong số các nhiệm vụ của một quản trị viên hệ thống máy chủ Linux, trong mẹo này, chúng ta đã xem cách liệt kê các tiến trình trên hệ thống của bạn và sắp xếp chúng theo sử dụng bộ nhớ (RAM) và CPU theo thứ tự giảm dần sử dụng tiện ích ps.