#cpu #linux
Подозреваю, что это можно взять из /proc/cpuinfo, возможно из: flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc rep_good pni ssse3 lahf_lm или из другого места (?), навскидку ничего больше из /proc/cpuinfo не подходит. На первый взгляд флаг ht говорит о Hyper-threading. Но, это I5-2500, а в его описании сказано, что 4 core без Hyper-Threading. Поэтому ht это скорее всего Hyper-Transport. Здесь сказано, что Hyper-Threading это HTT/HT (видимо иногда метят по разному ?). Собственно интересен также AMD аналог (не знаю как называется). Никто не знает, что и где точно смотреть в Linux?
Ответы
Ответ 1
Чтобы установить поддержку Hyper-Threading, нужно проверить CPUID (genuine Intel CPU) и значение бита № 28 регистра EDX (установлен в 1). По ссылке можно скачать утилиту CPUCount, которая как-то работает с Hyper-Threading.Ответ 2
флаг ht действительно говорит о наличии у процессора возможности HyperThreading. есть поле cpu cores - оно говорит о числе реальных ядер, есть поле siblings - оно говорит о числе виртуальных ядер. По их соотношению можно узнать о наличии HyperThreading и о числе потоков на одно физическое ядро.
Комментариев нет:
Отправить комментарий