Làm thế nào để phát hiện nếu cô lập được kích hoạt và trên cpus nào, ví dụ như khi bạn kết nối lần đầu tiên trên máy chủ. Điều kiện:
không sinh ra bất kỳ quá trình để xem nơi nó sẽ được di chuyển.
Trường hợp sử dụng là isolcpus=1-7
trên 6 lõi i7, dường như không kích hoạt segcpus khi khởi động, và tôi muốn biết liệu nó có thể từ /proc/
, /sys
hoặc bất kỳ phần bên trong hạt nhân nào có thể được đọc trong không gian người dùng, để cung cấp trạng thái kích hoạt rõ ràng của cô lập và cpu nào quan tâm. Hoặc thậm chí đọc cài đặt hoạt động của trình lập lịch biểu là mối quan tâm đầu tiên của cô lập.
Xem xét thời gian hoạt động là rất lớn, đó dmesg
là không hiển thị nhật ký khởi động để phát hiện bất kỳ lỗi nào khi khởi động. Câu trả lời cơ bản như " nhìn vào dòng cmd kernel " sẽ không được chấp nhận :)
pidstat
và isolcpus
. Bạn có thể xây dựng thêm một chút?
isolcpus
là gì , nhưng pidstat
có thể cho bạn biết CPU đang chạy quá trình nào nếu bạn vượt qua -C process_name
cờ. Ví dụ pidstat -C top
sản xuất như sau. 10:56:52 AM PID %usr %system %guest %CPU CPU Command 10:56:52 AM 3457 0.00 0.00 0.00 0.00 6 top
isolcpus
là một tham số kernel sẽ buộc bộ lập lịch không tự di chuyển bất kỳ tiến trình nào nếu chúng bị cô lập. Ví dụ trên 8 máy chủ cpu, isolcpus=1-7
trong dòng lệnh kernel, sẽ buộc tất cả quá trình sinh ra được rẽ nhánh bởi init và bất kỳ loại lệnh nào trong shell chỉ chạy trên CPU0. Để chạy một tác vụ trên một cpu bị cô lập, bạn cần khởi chạy nó với taskset
ví dụ. Vì vậy, liên quan đến những gì tôi đang hỏi, có vẻ như câu trả lời của bạn không có chủ đề. Dù sao cũng cảm ơn vì đã cố gắng trả lời tôi
pidstat -C isolcpus
. pidstat là từsysstat
gói.