Будут ли несколько процессоров показываться в /proc/cpuinfo в ядре, в котором не включен SMP?
Недавно я перенес приложение с одного сервера на другой, и у меня возникли проблемы, мне интересно, связаны ли они с HyperThreading.
Что касается моего вопроса, у меня в настоящее время нет доступа к старой коробке. Когда я это сделал, я знаю, что в /proc/cpuinfo было показано 2 процессора, а в системе был только 1 физический процессор, так что это говорит о том, что HyperThreading был включен.
Что мне интересно, так это то, что, возможно, /proc/cpuinfo мог бы показывать два процессора исключительно с информационной точки зрения, но ядро не было скомпилировано с SMP, поэтому процессы не ударяли по виртуальному ЦП HyperThreading или если в SMP отсутствовал SMP. kernal будет означать, что система даже не узнает, чтобы показать второй процессор в /proc/cpuinfo.
Если у кого-нибудь случится иметь ящик, который, как он знает, имеет несколько процессоров (предпочтительнее HT, но физический будет больше информации, чем у меня сейчас), на котором загружено ядро, отличное от SMP, и он может проверить свою /proc/cpuinfo, это было бы очень полезно.
3 ответа
Я на 99,9% уверен, что cpuinfo не будет отображать процессоры, которые не поддерживаются ядром.
dmidecode, с другой стороны, может.
Я согласен с ответом Мэтта Симмонса.
Пожалуйста, позвольте мне добавить, что HyperThreading (Pentium4-вещь) сама по себе никогда не приносила пользы моим системам. Нет прироста производительности, но иногда даже проблемы. Вам лучше отключить его полностью.
Если вы отключите гиперпоточность, второй список процессоров в /proc/cpuinfo исчезнет. Я бы порекомендовал отключить его, хотя он никогда не приносил пользы и только вызывал проблемы. Просто наличие ядра SMP не даст второго списка. Без ядра SMP появится только одно.