Kiểm tra tiến trình chiếm dụng CPU trong Linux với SysStat

Xin chào các bạn!

Trong Linux, một vấn đề rất đáng lưu tâm đó chính là việc kiểm tra rằng tiến trình nào đang chiếm dụng CPU.

Bạn chưa từng nghĩ tới điều này ? Và một ngày đẹp trời nào đó, CPU cứ tăng vọt lên không rõ nguyên do, giờ là lúc bạn cần nhanh chóng khoang vùng để tìm ra đối tượng khả nghi nhất.

Bài viết này, Z.com sẽ giới thiệu tới bạn cách giải quyết thông qua ứng dụng SysStat.

Trước hết, việc bạn cần làm đó chính là cài đặt chương trình sysstat này bạn chạy lệnh sau để cài đặt:

yum install sysstat

Chúng ta sẽ cần tìm ra rằng thực sự tài nguyên CPU đang được sử dụng ở đâu, bạn hãy thử với dòng lệnh này:

sar -u 3 10

Trước hết với lệnh sar -u 3 10, bạn có thể hiểu là: với lệnh này server sẽ tiến hành kiểm tra 10 lần, mỗi lần cách nhau 3s, bên cạnh đó còn cần chú ý thêm các thông số quan trọng khác ở đây, đó là:

%user : đây là lượng chiếm dụng CPU khi một user khởi tạo tiến trình

%nice: đây là lượng chiếm dụng CPU khi tiến trình được tạo bởi user với độ ưu tiên là nice

%system: đây là lượng chiếm dụng CPU khi tiến trình được tạo ra bởi kernel (hệ thống)

%iowait: đây là lượng chiếm dụng CPU khi cpu đang trong trạng thái idle ở thời điểm phát sinh I/O request

%idle: : đây là lượng chiếm dụng CPU khi cpu đang trong trạng thái idle ở thời điểm không có I/O request

Lệnh tiếp theo sẽ cho phép chúng ta tìm ra được cụ thể rằng tiến trình nào đang chiếm dụng CPU:

ps -eo pcpu,pid,user,args | sort -r -k1 | less

Sau khi đã tìm ra nguyên nhân tiến trình nào đã chiếm dụng CPU, bạn có thể thực hiện Kill nó thông qua PID, hoặc điều chỉnh lại các thông số cho phù hợp hơn nếu cần thiết.

Chúc các bạn thành công!

Hãy lựa chọn quốc gia.

Chat với chúng tôi