Apakah mungkin untuk mempengaruhi cara CPU disebutkan dalam Linux?

32

Saya memiliki HP DL380 G7 dengan 2 CPU yang tidak cocok di dalamnya. Salah satunya adalah CPU quad core dengan core lebih cepat, dan satu adalah CPU 6 core dengan core lebih lambat.

Pada kotak ini saya menjalankan aplikasi yang karena alasan lisensi hanya akan menggunakan CPU0-CPU3.

Bagi saya itu akan diinginkan untuk core yang lebih cepat pada CPU quad core untuk menghitung ke CPU0-CPU3 dalam sistem operasi, memberi saya bonus kinerja untuk a) menggunakan core clock yang lebih cepat, dan b) menjaga semua thread pada CPU fisik yang sama .

Apakah ada cara untuk mewujudkannya, baik di dalam BIOS, atau dalam file konfigurasi atau opsi boot di Linux?

Model CPU spesifik adalah:

Intel (R) Xeon (R) CPU E5649 @ 2.53GHz (hex core)

Intel (R) Xeon (R) CPU E5640 @ 2.67GHz (quad core)

paulos
sumber
Silakan kirim model CPU tertentu dari cat /proc/cpuinfo.
ewwhite
24
Mengalamivvvvvvv karena saya bahkan tidak tahu CPU yang tidak setara itu mungkin, selalu sesuatu yang baru untuk dipelajari ...
Kyle Brandt
2
@kyle dimungkinkan, tetapi tidak didukung atau didukung oleh HP.
ewwhite
1
@kasperd Di HP-land, jika Anda memuat dua CPU steppings berbeda, Anda mendapatkan CPU mismatch detectedkesalahan di POST. Itu bisa terjadi dalam generasi CPU; misalnya Intel 5606 dan 5690 dalam sasis yang sama.
ewwhite
3
Jika ada yang tertarik dengan apa yang sebenarnya kami lakukan di sini, kami melakukan perjalanan ke pusat data & secara fisik menghapus quad core CPU dari server
paulos

Jawaban:

27

Apa?!?

Ini gila , Anda tahu? Ini tidak didukung dan kemungkinan tidak baik untuk perangkat keras Anda. Anda harus menggunakan prosesor dengan spesifikasi yang sama di server Anda.

Saya kira Anda pasangan hanya menjalankan aplikasi Anda dalam cgroup atau perisai (atau melalui taskset) yang hanya berisi inti CPU yang ingin Anda gunakan. Anda juga dapat menyematkan akses memori ke CPU dengan numactl. Tapi sungguh, mengapa Anda tidak menghapus CPU yang lebih lambat sepenuhnya atau membayar apa yang diperlukan untuk membawa sistem ke spesifikasi.

Mungkin hal yang jelas, jika aplikasi Anda menggunakan hardcoded menggunakan CPU0-CPU3, adalah secara fisik bertukar soket ... tapi sungguh, jalankan dengan satu CPU di sini.

Jika Anda mengacu pada perangkat keras ProLiant DL380 G7, CPU "lebih cepat" Anda kemungkinan merupakan proc Nehalem 5500-series, dengan CPU hex-core yang lebih lambat menjadi Westmere. Sudahkah Anda melakukan benchmark? CPU spesifik apa yang diinstal?

Edit:

Oke, jadi ini setidaknya CPU dari generasi yang sama / melangkah. Tapi itu masih ide yang buruk ... Perbedaan dalam spesifikasi CPU bahkan tidak terlalu bagus (versus sesuatu seperti Intel X5690 di 3.47GHz).

putih
sumber
4
Setiap orang memiliki reaksi yang sama! Saya tahu bahwa idealnya CPU akan sama, tetapi inilah yang HP berikan kepada kami pada hari itu. Ini adalah tangan saya sudah ditangani jadi saya harus membuat yang terbaik sampai perangkat keras berikutnya datang. CPU-nya adalah Xeon E5649 @ 2.53GHz (hex core) & E5640 @ 2.67GHz (quad core). Menghapus CPU 6 inti sepenuhnya sebenarnya adalah salah satu opsi di atas meja. Akan lebih rapi untuk dapat menonaktifkan soket sepenuhnya di BIOS tetapi tampaknya tidak mungkin.
paulos
@paulos Aplikasi apa ini?
ewwhite
Ini sebenarnya beroperasi sebagai firewall pos pemeriksaan
paulos
3
@ paulos Lalu mengapa 2.67GHz versus 2.53GHz penting? Cukup letakkan CPU 6-core di server dan lepaskan 4-core.
ewwhite
re: CPU spec, ya saya pikir ini hanya sekitar 5% lebih cepat atau sesuatu seperti itu. Saya berharap peningkatan kinerja dikaitkan dengan memiliki semua utas pekerja & khususnya badai irq dari kartu jaringan yang berada pada CPU fisik yang sama. sunting: Ya menggunakan CPU 6 inti saja juga kemungkinan.
paulos