Узнаём тип процессора под FreeBSD

Запись создана июня 25, 2008

Узнать тип процессора под FreeBSD можно так:
#grep -w CPU: /var/run/dmesg.boot
CPU: Intel Pentium III (1007.80-MHz 686-class CPU)

или так:
sysctl -a | grep machdep.tsc_freq:
machdep.tsc_freq: 1007804929

Если заглянуть в /usr/src/sys/i386/i386/identcpu.c, то можно заметить, что значение частоты в dmesg.boot вычисляется так:
printf(«%d.%02d-MHz «,
(tsc_freq + 4999) / 1000000,
((tsc_freq + 4999) / 10000) % 100);

» Запись из раздела Unix | 4 комментария

Комментарии



4 комментария to “Узнаём тип процессора под FreeBSD”

  1. senatum on июня 26, 2008 9:49

    Записал себе на память ;) (ссылку оставил)

  2. Mihail on августа 5, 2008 1:33

    Вы меня простите но это немного фигня. Дело в том, что tsc_freq вычисляется на этапе загрузки ядра как разность значений TSC (Time stamp counter) с 1 секундной задержкой, сами TSC читаются при помощи инструкции rdtsc. Теперь берем интеловскую доку и читаем что внутренний таймер TSC в последних моделях интеловских процов (начиная с Prescott) молотит на максимальной частоте определяемой шиной и МАКСИМАЛЬНО возможным множетелем! Так что если у вас проц например Q6700 и запущен он как 400*8 (т. е. 3200 мегов) фряха вам насчиитает частоту проца в 4000 мегов что мягко говоря неправда. Правда анализ кода ядра БСД показал что на этой дезе все неприятности исчерпываются ибо tsc_freq используется только для расчета интервальных таймеров, а они в свою очередь тоже построены на rdtsc, чем сохраняется самосогласованность временных интервалов.

  3. admin on августа 6, 2008 14:50

    Ну максимально приближенную информацию по цпу даёт, т.ч. думаю что вполне рабочий вариант

  4. guf on июля 23, 2010 22:05

    [ill@localhost ~]$ grep -w CPU: /var/run/dmesg.boot
    CPU: Intel(R) Xeon(TM) CPU 3.06GHz (3048.98-MHz 686-class CPU)

    Спасибо! Как бы узнать скока ядер и кэшы?




Ответить