Làm cách nào để có được tất cả các quy trình chạy trên mỗi lõi CPU trong Ubuntu?


9

Tôi đang làm việc trên máy chủ Ubuntu14.04 và nó có 48 lõi CPU. Tôi đang thấy có mức sử dụng CPU cao trên một lõi từ thông tin sar. Vì vậy, tôi muốn biết quá trình nào đang chạy trên lõi đó. Làm cách nào để có được tất cả các quy trình chạy trên mỗi lõi CPU trong Ubuntu?


thử với chỉ huy hàng đầu
Mausam Sinha

toplệnh hiển thị các quy trình với tất cả các lõi. Làm thế nào tôi có thể nhận được các quy trình cho mỗi lõi. Tôi đã gõ 1sau toplệnh và nó cho phép sử dụng cpu cho mỗi lõi nhưng tôi muốn các quy trình trên mỗi lõi.
Rohanil

Câu trả lời:


12

Bạn có thể làm điều đó với ps -aeF, xem Ccột

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0  2015 ?        00:08:07 /sbin/init

Hoặc với htop, cấu hình nó để hiển thị PROCESSORcột,

nhập mô tả hình ảnh ở đây

Để thiết lập mối quan hệ CPU, bạn có thể sử dụng lệnh tasket


Bạn nói ps -aeF, nhưng tôi đã phải gỡ bỏ avỏ F5 LTM của chúng tôi ... ps -eFđã làm việc cho tôi
Mike Pennington

7

Bình thường topcũng có thể hiển thị CPU được sử dụng cuối cùng.

Bạn phải nhấn ftrong khi xem màn hình chính để vào màn hình Quản lý trường, mũi tên xuống P = Last Used CPU (SMP)và bật nó lên dhoặc không gian. Nhấn qhoặc thoát để trở về màn hình chính.

Bạn có thể muốn di chuyển cột P lên trong màn hình Quản lý trường nếu bạn không thích cột P ở phía bên phải của đầu ra.


5

Nhận ra đây là ngày nhưng đối với những người muốn xem quy trình nào đang sử dụng lõi nào với lệnh ps thì cột bạn muốn là psr. C là sử dụng cpu.

Lõi được đánh số 0-N. Bạn có thể xem chi tiết cốt lõi với:

cat /proc/cpuinfo

Vì vậy, hãy để chúng tôi nói rằng bạn có 4 lõi và bạn muốn xem tất cả các quy trình sử dụng lõi thứ 4:

CORENUM=3; ps -e -o pid,psr,cpu,cmd | grep -E  "^[[:space:]][[:digit:]]+[[:space:]]+${CORENUM}"

Phá vỡ các lệnh trên.

Tạo và đặt biến "CORENUM" với giá trị là "3" (lõi thứ tư). Kết thúc câu lệnh bằng dấu chấm phẩy (bạn có thể nhấn enter tại đây).

Chạy lệnh ps trong đó: -e = chọn tất cả các quy trình -o = Định dạng do người dùng xác định. Điều này được làm bằng một hoặc nhiều định dạng định dạng được phân tách bằng dấu phẩy. Chúng có thể được tìm thấy trong trang ps man ("man ps") trong phần STANDARD FORMAT THÔNG SỐ

(sử dụng dấu gạch chéo về phía trước để tìm kiếm trong trang man).

Để xem danh sách thô của chúng, bạn có thể nhập tùy chọn "L" (không có "-"):

ps L

Vì vậy, ở đây định dạng người dùng của tôi được liệt kê là id quá trình theo sau bởi bộ xử lý, sau đó sử dụng cpu và cuối cùng là lệnh.

Điều này sau đó được chuyển sang grep nơi tôi đã sử dụng tùy chọn -E để cho phép regx mở rộng nhằm cố gắng chỉ xuất chính xác các quy trình được liên kết với số cpu được lưu trữ trong biến CORENUM.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.