Câu trả lời:
Bên cạnh việc làm điều này trong BIOS grub của bạn có một tùy chọn được gọi maxcpus
.
Bạn có thể chỉnh sửa tùy chọn này khi chọn tùy chọn khởi động grub bằng cách thêm maxcpus=1
vào các tham số. Hình ảnh grub ngẫu nhiên:
Chọn 'e' và bạn nhận được một dòng lệnh nơi bạn có thể thêm tùy chọn.
Bạn cũng có thể tạo tùy chọn khởi động vĩnh viễn trong grub bằng cách tạo một bản sao của tùy chọn khởi động hiện tại của bạn và thêm maxcpus=1
vào các tham số khởi động. Bạn có thể đặt tên này là 'Ubuntu, kernel 2.5.12-9-386 (1 cpu)' và có nó trong số các tùy chọn khởi động khác như hình ảnh hiển thị.
Bạn có thể xác minh chạy trên 1 cpu bằng cách phát hành:
cat /proc/cpuinfo | grep processor
cái này sẽ hiển thị cái gì đó như thế này:
bộ xử lý: 0 bộ xử lý: 1
Và dòng thứ 2 sẽ biến mất sau khi khởi động với 1 CPU.
Bạn có thể tự động vô hiệu hóa CPU thông qua /sys/devices/system/cpu/cpuN/online
, ví dụ để vô hiệu hóa CPU 1, sử dụng:
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
và để kích hoạt lại, sử dụng:
echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
Bạn luôn có thể rút CPU ra khỏi ổ cắm của nó. Đó là sức mạnh vũ phu, nhưng bạn được đảm bảo sẽ có được bài kiểm tra mà bạn muốn và bạn không phải lo lắng nếu kernel / BIOS / bất kỳ công tắc nào thực sự làm những gì bạn hy vọng nó đang làm.
Công ty của tôi có cài đặt lớn các trang trại máy chủ ở nhiều địa điểm khác nhau trên khắp thế giới. Trong phòng thí nghiệm của chúng tôi đôi khi chúng tôi sẽ loại bỏ CPU khỏi ổ cắm chỉ để thử nghiệm như vậy.
Có một biến thể thú vị trong bài kiểm tra này mà bạn có thể thực hiện với các hệ thống NUMA nhiều CPU . Trên các loại bo mạch chủ đó, bạn có thể loại bỏ tất cả các DIMM bộ nhớ được điều khiển bởi một CPU vật lý. Hệ thống vẫn sẽ khởi động tốt và sau đó bạn có thể chạy thử nghiệm với ứng dụng của mình được ghim vào các lõi khác nhau cho phép bạn đo lường mức độ ảnh hưởng của bộ nhớ "cục bộ" hoặc "từ xa".
Bạn có muốn xem hiệu suất của một ứng dụng đa luồng cùng với số lượng lõi không? Nếu đó là trường hợp, bạn có thể sử dụng tiện ích tasket. Tôi đoán rằng bạn có một máy NUMA. Bạn có thể cài đặt tiện ích numactl và bằng cách sử dụng nó, bạn có thể tìm thấy lõi nào tương ứng với CPU nào. Ví dụ: máy của bạn có hai CPUS lõi tứ (chip). Bằng cách sử dụng tiện ích tasket, bạn có thể tạo các lõi của một CPU thành một bộ và phân bổ chúng cho ứng dụng của bạn. Sau đó, ứng dụng của bạn chỉ sử dụng một CPU / Chip (bốn lõi). Xin hãy để tôi biết nếu bạn cần nhiều thông tin hơn.