Автор Тема: Обсуждение и предложения по реализации базы данных проб оборудования  (Прочитано 71618 раз)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Код посмотрите, может, там из /proc берут.
Андрей Черепанов (cas@)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Похоже , завязано на /sys. например, вся информация о процессоре  cpu0 находится в каталоге  /sys/bus/cpu/drivers/processor/cpu0/cpufreq. Насчёт "старых ядер"  - не знаю, есть-ли в них такая возможность.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
По коду - идёт обращение к ядру

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Ещё один рецепт:
dmidecode  -t processor | grep -i speed
        Max Speed: 3700 MHz
        Current Speed: 3700 MHz

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Есть ещё такая утилитка -  cpufreq-info
man cpufreq-info
Цитировать
       -l --hwlimits
              Determine the minimum and maximum CPU frequency allowed.
вот только для её нормальной работы нужно настроить её работу.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
А вот топорная работа по идентификации процессора (пакет cpuid2)
cpuid  | grep 'brand ='

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Можно брать из lscpu. Команда точно есть в пакете util-linux бранча 5.1.
И этот пакет штатный, т.е. есть всегда:
# rpm -qpvl util-linux-2.16.1-alt1.i586.rpm | grep '\/bin'
-rwxr-xr-x    1 root    root             5468 сен 14  2009 /bin/dmesg
-rwxr-xr-x    1 root    root            30316 сен 14  2009 /bin/more
-rwxr-xr-x    1 root    root             9572 сен 14  2009 /bin/raw
-rwxr-xr-x    1 root    root            14372 сен 14  2009 /usr/bin/cal
-rwxr-xr-x    1 root    root             9600 сен 14  2009 /usr/bin/col
-rwxr-xr-x    1 root    root             9580 сен 14  2009 /usr/bin/colcrt
-rwxr-xr-x    1 root    root             5448 сен 14  2009 /usr/bin/colrm
-rwxr-xr-x    1 root    root             9648 сен 14  2009 /usr/bin/column
-rwxr-xr-x    1 root    root             9608 сен 14  2009 /usr/bin/cytune
-rwxr-xr-x    1 root    root             9884 сен 14  2009 /usr/bin/ddate
-rwxr-xr-x    1 root    root             9604 сен 14  2009 /usr/bin/flock
-rwxr-xr-x    1 root    root            17856 сен 14  2009 /usr/bin/hexdump
-rwxr-xr-x    1 root    root             9576 сен 14  2009 /usr/bin/ipcmk
-rwxr-xr-x    1 root    root             9588 сен 14  2009 /usr/bin/ipcrm
-rwxr-xr-x    1 root    root            21888 сен 14  2009 /usr/bin/ipcs
-rwxr-xr-x    1 root    root             9576 сен 14  2009 /usr/bin/isosize
-rwxr-xr-x    1 root    root             5424 сен 14  2009 /usr/bin/line
-rwxr-xr-x    1 root    root            10004 сен 14  2009 /usr/bin/logger
-rwxr-xr-x    1 root    root            17916 сен 14  2009 /usr/bin/lscpu
-rwxr-xr-x    1 root    root             9688 сен 14  2009 /usr/bin/mcookie
-rwxr-xr-x    1 root    root             9788 сен 14  2009 /usr/bin/namei
-rwxr-xr-x    1 root    root              768 сен 14  2009 /usr/bin/pause
-rwxr-xr-x    1 root    root            26192 сен 14  2009 /usr/bin/pg
lrwxrwxrwx    1 root    root               13 сен 14  2009 /usr/bin/raw -> ../../bin/raw
-rwxr-xr-x    1 root    root             5472 сен 14  2009 /usr/bin/rename
-rwxr-xr-x    1 root    root             9564 сен 14  2009 /usr/bin/renice
-rwxr-xr-x    1 root    root             5492 сен 14  2009 /usr/bin/rev
-rwxr-xr-x    1 root    root             9672 сен 14  2009 /usr/bin/script
-rwxr-xr-x    1 root    root             5464 сен 14  2009 /usr/bin/setsid
-rwxr-xr-x    1 root    root            22180 сен 14  2009 /usr/bin/setterm
-rwxr-xr-x    1 root    root             5432 сен 14  2009 /usr/bin/stacktest
-rwxr-xr-x    1 root    root             9624 сен 14  2009 /usr/bin/tailf
-rwxr-xr-x    1 root    root            13712 сен 14  2009 /usr/bin/ul
-rwxr-xr-x    1 root    root             9868 сен 14  2009 /usr/bin/whereis
-rwx--s--x    1 root    tty             13816 сен 14  2009 /usr/bin/write

На сизифной системе из 5.1/branch:
# pwd
/tmp/util-linux
# rpm2cpio util-linux-2.16.1-alt1.i586.rpm |cpio -idmv
# ./usr/bin/lscpu
Architecture:          i686
CPU(s):                1
Thread(s) per core:    1
Core(s) per socket:    1
CPU socket(s):         1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 13
Stepping:              8
CPU MHz:               1733.000
Команда lscpu пакета util-linux-2.16.1-alt1.i586.rpm бранча 5.1 выводит только максимальную частоту процессора установленную производителем.

# rpm -qf $(which lscpu)
util-linux-2.27.1-alt2
# lscpu
Architecture:          i686
CPU op-mode(s):        32-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 13
Model name:            Intel(R) Pentium(R) M processor 1.73GHz
Stepping:              8
CPU MHz:               1733.000
CPU max MHz:           1733,0000
CPU min MHz:           800,0000
BogoMIPS:              3466.13
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx bts est tm2
# apt-repo
rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus i586 classic
rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Ещё один рецепт:
dmidecode  -t processor | grep -i speed
        Max Speed: 3700 MHz
        Current Speed: 3700 MHz
dmi не канает по той простой причине, что, как минимум, на армах, эльбрусах и мипсах этого нет от слова совсем.

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Можно брать из lscpu. Команда точно есть в пакете util-linux бранча 5.1.
И этот пакет штатный, т.е. есть всегда:
Только толку от него нет, он показывает все что угодно, только не частоту, заявленную производителем для процессора (которую пишут на упаковке, к примеру, или на самом процессоре).
Код посмотрите, может, там из /proc берут.
Как и нет толка от /proc/cpuinfo, который, по всей видимости, показывает ровно то же самое.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
cpuid  | grep 'brand ='
Имхо стоит ориентироваться на брендовое название процессора. Да и вообще информация от команды cpuid более точно идентифицирует процессор, чем частота, показываемая различными утилитами.

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
cpuid  | grep 'brand ='
Имхо стоит ориентироваться на брендовое название процессора. Да и вообще информация от команды cpuid более точно идентифицирует процессор, чем частота, показываемая различными утилитами.
Есть кто-нибудь, кто мог бы проверить поведение этой утилиты (на реальном железе, а не бутафорской виртуалке) на бранче 5.1 и/или p6/t6 как в указанном примере ?

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
cpuid  | grep 'brand ='
Имхо стоит ориентироваться на брендовое название процессора. Да и вообще информация от команды cpuid более точно идентифицирует процессор, чем частота, показываемая различными утилитами.
Есть кто-нибудь, кто мог бы проверить поведение этой утилиты (на реальном железе, а не бутафорской виртуалке) на бранче 5.1 и/или p6/t6 как в указанном примере ?
А впрочем не надо. Эта утилита тоже частоту не показывает. Она берет все ту же строчку модели, где через собаку указана частота. Но что мне может показать частоту процессора на бранче 5.1 в таком же вот виде, а не приблизительном (динамически измеренном). Напомню на всякий случай, что на моем ноутбуке с piii, в выводе cpuinfo частота показана весьма приблизительно, а в строчке с названием процессора и вовсе не указана. Каково, а ? Только не говорите, что, мол, возьми и напиши сам утилиту, которая будет доставать номинальную частоту процессора, заявленную производителем, без всяких приближений и без динамики.
PS Вот из-за такой вот ерунды процесс и тормозится, а я как раз в отпуску - можно было и поднажать. Но куда тут жать, если элементарщину сделать нет возможности...

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Вот, выкладываю лог cpuid из Kdesktop 5, запущенного внутри VirtualBox. Стоит обратить внимание, что эта информация гораздо лучше иденифицирует процессор, чем его частота. В крайнем случае, частоту можно посмотреть в каком-нибудь справочнике, если очень надо.

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Вот, выкладываю лог cpuid из Kdesktop 5, запущенного внутри VirtualBox. Стоит обратить внимание, что эта информация гораздо лучше иденифицирует процессор, чем его частота. В крайнем случае, частоту можно посмотреть в каком-нибудь справочнике, если очень надо.
Руслан, мне нужна частота. Все остальное я давным-давно вытащил и это не требуется изобретать зоново. Мне железно нужна частота номинальная на любом бранче от 5.1 до p8 без всяких справочников, сборки чего-то туда, без использования dmi по возможности.

Оффлайн Александр Ерещенко

  • Участник
  • *
  • Сообщений: 1 246
Тут получается такая проблема. Либо заявленная производителем частота проца прописана в самом железе и извлекается через стандартный интерфейс (напр. dmi), либо её надо брать из справочника/базы, предварительно каким-то способом взяв точное название модели проца.
На тех платформах, где есть dmi, логично использовать его. На других платформах, видимо, как-то иначе - есть ли там вообще информация прописанная в само железо, которую можно вытянуть программным путём?