Apakah mungkin untuk menonaktifkan CPU, bukan inti? Saya ingin melakukan tes untuk memverifikasi apakah kinerja dapat membuat perbedaan besar atau tidak.
Saya menggunakan Ubuntu 10.10.
Apakah mungkin untuk menonaktifkan CPU, bukan inti? Saya ingin melakukan tes untuk memverifikasi apakah kinerja dapat membuat perbedaan besar atau tidak.
Saya menggunakan Ubuntu 10.10.
Jawaban:
Selain melakukan ini di BIOS grub Anda memiliki opsi bernama maxcpus
.
Anda dapat mengedit opsi ini ketika memilih opsi boot grub Anda dengan menambahkan maxcpus=1
ke parameter. Gambar grub acak:
Pilih 'e' dan Anda sampai ke baris perintah di mana Anda dapat menambahkan opsi.
Anda juga dapat membuat opsi boot permanen di grub dengan membuat salinan opsi boot Anda saat ini dan menambahkan maxcpus=1
ke parameter boot. Anda dapat memberi nama ini 'Ubuntu, kernel 2.5.12-9-386 (1 cpu)' dan memilikinya di antara opsi-opsi boot lain seperti yang ditunjukkan gambar.
Anda dapat memverifikasi berjalan pada 1 cpu dengan mengeluarkan:
cat /proc/cpuinfo | grep processor
ini harus menunjukkan sesuatu seperti ini:
prosesor: 0 prosesor: 1
Dan baris ke-2 akan hilang setelah boot dengan 1 CPU.
Anda dapat menonaktifkan CPU secara dinamis melalui /sys/devices/system/cpu/cpuN/online
, misalnya untuk menonaktifkan CPU 1, gunakan:
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
dan untuk mengaktifkan kembali, gunakan:
echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
Anda selalu dapat mencabut CPU dari soketnya. Ini brute force, tetapi Anda dijamin mendapatkan tes yang Anda inginkan, dan Anda tidak perlu khawatir jika kernel / BIOS / switch apa pun benar-benar melakukan apa yang Anda harapkan sedang dilakukan.
Perusahaan saya memiliki instalasi besar server farm di berbagai lokasi di seluruh dunia. Di lab kami kadang-kadang kami akan menghapus CPU dari soket hanya untuk tes semacam itu.
Ada variasi yang menarik pada tes ini yang dapat Anda lakukan dengan sistem NUMA multi-CPU . Pada jenis-jenis motherboard tersebut, Anda dapat menghapus semua DIMM memori yang dikendalikan oleh satu CPU fisik. Sistem masih akan boot dengan baik, dan Anda kemudian dapat menjalankan tes dengan aplikasi Anda disematkan ke berbagai inti yang akan memungkinkan Anda untuk mengukur pengaruh memori "lokal" atau "jarak jauh".
Ingin melihat kinerja aplikasi multithread bersama sejumlah core? Jika itu masalahnya, Anda dapat menggunakan utilitas tasket. Saya kira Anda memiliki mesin NUMA. Anda dapat menginstal utilitas numactl dan dengan menggunakannya Anda dapat menemukan core mana yang sesuai dengan CPU mana. Misalnya, mesin Anda memiliki dua quad-core CPUS (chip). Dengan menggunakan utilitas tasket Anda dapat membuat inti dari satu CPU sebagai satu set dan mengalokasikan ini untuk aplikasi Anda. Maka aplikasi Anda hanya menggunakan satu CPU / Chip (empat core). Tolong beri tahu saya jika Anda memerlukan informasi lebih lanjut.