2015-10-14 4 views
0

Прежде всего позвольте мне уточнить, что я такое не ask - Я уже знаю, как определить количество ядер, которые, по его мнению, использует Linux, путем запроса элементов в/sys/devices/system/cpu, такие как ./possible и ./present, и с использованием lstopo, dmidecode и т. д.Как RedHat определяет количество ядер

Что я хочу знать, как ядро ​​достигает конкретных чисел, которые видны там в sys/devices/system/cpu/present?

Мотивация в том, что у меня в моей лаборатории две идентичные платы процессора, как с четырёхъядерными процессорами i7-2715QE. Одна из плат, для простоты, называет это «хорошей» доской, сообщает как четыре ядра (как и ожидалось) с гиперпотоком (HT), в общей сложности 8 cpus. другой Совет сообщает только два ядра, снова с HT на, всего в 4 cpus.

Что-то выше по течению от sys/devices/system/cpu должно быть определено, что два из сердечников не должны использоваться. «Хорошая» доска перечисляет 0-7 в sys /.../, а sys /.../ присутствует, тогда как «плохая» доска показывает 0-3, и все же они имеют одинаковый i7-2715QE.

Я проверил экраны BIOS/UEFI для любых различий и ничего не нашел. На доске нет физических переключателей/перемычек, которые я могу найти. Может ли это быть скомпилировано в ядро? Являются ли параметры загрузки для Grub, на которые я должен смотреть? На обеих досках работает RedHat 6. Хорошая доска - 6.3, другая - на 6.6, но они достаточно похожи, чтобы не врожденно вносить изменения в этом отношении. Я не думаю, что сама версия имеет значение как возможность того, что они просто строятся по-другому.

обновление

Это определенно что-то делать с изображением ОС или, возможно, настроек Чипы, б/с при загрузке с внешнего живого изображения, плохой совет показывает ожидаемый cpu0..cpu7 в sysfs. Что-то о том, что находится на бортовой вспышке, должно быть отключено два из четырех ядер.

+0

Эй, вы ближе типов - как насчет 10 минут для того, чтобы кто-то нашел место, чтобы перенести его? – JustJeff

+0

Можете ли вы попробовать загрузить живой компакт-диск из другого дистрибутива, чтобы получить второе мнение? Некоторые из наших двухъядерных xeons иногда показывали бы только одно ядро, независимо от дистрибутива, и мы полагали, что это была аппаратная проблема. –

+0

@Mark Plotnick да, собирался попробовать это вчера, но не хватило времени. Итак, загрузившись с USB-накопителя, плохая доска отображает ожидаемые 8 записей cpu в sysfs. Что приводит к тому, что ОС вспыхивает на плохой доске, не видя ядра 2 и 3. – JustJeff

ответ

1

Оказывается, что параметр acpi на линии загрузки является виновником. По причинам, которые еще не определены, указание acpi = off заставляло ядро ​​неправильно интерпретировать топологию процессора, а то, что должно было быть 4 ядра с возможностью гиперпоточности, считалось 4 cpus как 2 ядра с использованием гиперпотока.

Устранение проблемы с acpi = ht.

+0

Да, ответил мой собственный, b/c потерял счет того времени, когда поиск вызывает один одинокий вопрос без ответов – JustJeff