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