Nói với nhân Linux * không * để sử dụng một số CPU nhất định


8

Tôi đang cố chạy một số điểm chuẩn trên máy đa lõi và tôi muốn nói với nhân Linux đơn giản là tránh một số lõi nhất định trừ khi được yêu cầu sử dụng chúng một cách rõ ràng.

Ý tưởng là tôi có thể dành một số lõi (máy có 6 lõi vật lý) để đo điểm chuẩn và sử dụng mặt nạ cpu để chỉ cho phép các quy trình điểm chuẩn vào các lõi đã cho.

Điều này có khả thi không?


Các điểm chuẩn thực tế bạn muốn chạy là gì?
Basile Starynkevitch

Câu trả lời:


5

Bạn có thể tách một số lõi cpu khỏi lập lịch kernel bằng isolcpustham số. Thêm tham số này vào grub.conf của bạn và khởi động lại để có hiệu lực.


2
Liên kết đã chết. Có thể là tốt nhất để bao gồm một ví dụ trực tiếp trong câu trả lời.
pchaigno

4

Bạn muốn một số mối quan hệ bộ xử lý (hoặc ái lực CPU ).

Tòa nhà có liên quan là calendar_setaffinity (2) , nhưng bạn nên sử dụng thông qua pthread_set_affinity_np (3) nếu bạn muốn mã hóa điểm chuẩn của mình cho điều đó.

Lệnh liên quan là tasket (1) và bạn có thể sử dụng nó trên các lệnh bạn muốn điểm chuẩn (hoặc trên vỏ của bạn).

Nếu có thể, hãy chú ý rằng máy không được tải nhiều bởi các tác vụ khác không liên quan đến điểm chuẩn.

Ngoài ra, sử dụng một số trình ảo hóa như Xen và khởi động Linux của bạn với tư cách là hệ điều hành khách cho trình ảo hóa đó. Sau đó cấu hình xenđể chỉ sử dụng một số bộ lõi CPU bị hạn chế (Tôi không biết chi tiết chính xác, bạn cần tìm hiểu). Trên Debian (và liên quan) phân phối, bạn có thể cài đặt các gói như xen-linux-system-amd64, xen-hypervisor-amd64, xen-utilsvv (Tôi đang sử dụng trên Debian / Sid xen-hypervisor-4.5-amd64, xen-linux-system-4.0.0-1-amd64, xen-utils-4.5 vv ...).

Có lẽ có một số cách để định cấu hình (có thể tại thời gian biên dịch kernel hoặc bằng cách chuyển các đối số cụ thể đến kernel loader Grub) kernel Linux của bạn để hạn chế số lượng lõi có thể sử dụng.

Tất nhiên, nó là tốt hơn, khi điểm chuẩn một số chương trình -eg trên một máy tính để bàn Linux dành cho máy tính, để chăm sóc để tránh việc nhiều quá trình bên ngoài chạy (sử dụng ps auxw, pstree -p, topđể tìm những). Ít nhất, đóng và thoát hầu hết các ứng dụng tương tác (trình duyệt như firefox, email, trình soạn thảo, IDE như Eclipse) và chỉ giữ một số lượng nhỏ thiết bị đầu cuối để điểm chuẩn. Bạn thậm chí có thể điểm chuẩn ở chế độ hàng loạt (sử dụng batchhoặc atđể chạy điểm chuẩn) trong khi bạn thậm chí không đăng nhập (vì vậy không có bất kỳ phiên GUI nào gọi là Gnome hoặc KDE hoặc Xfce , v.v ... đang chạy).


Đặt mối quan hệ của các nhiệm vụ thành điểm chuẩn là không đủ. Bạn cũng phải giữ các nhiệm vụ khác đi. Mà đề nghị nhà ảo thuật của bạn làm, nhưng theo một cách rất nặng tay.
Gilles 'SO- đừng trở nên xấu xa'

@Gilles: tại sao giữ các nhiệm vụ khác cần thiết cho mục đích điểm chuẩn? Trong thực tế, khi điểm chuẩn, PC thường khá nhàn rỗi ... Đối với một máy chủ tốn kém, mọi thứ sẽ khác!
Basile Starynkevitch

Ví dụ: vì bạn đang đo điểm chuẩn trên PC để bàn cũng đang tiêu tốn tài nguyên cho Firefox, Eclipse và các tác vụ đòi hỏi cao khác.
Gilles 'SO- đừng trở nên xấu xa'

Trên máy tính để bàn của riêng bạn, bạn có thể dễ dàng dừng hầu hết các tác vụ tiêu thụ (ví dụ: đóng và thoát firefox & nhật thực) trong khi đo điểm chuẩn. Bạn thậm chí có thể chạy điểm chuẩn ở chế độ hàng loạt (sử dụng athoặc batch) trong khi bạn chưa đăng nhập (vì vậy đừng chạy bất kỳ phiên tiêu thụ nào).
Basile Starynkevitch
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.