anonymous@RULINUX.NET~# Last login: 2024-12-22 17:17:14
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Текущая тактовая частота CPU?

Современные процессоры как известно имеют привычку менять свою тактовую частоту ядер (которых между прочим может быть несколько) в зависимости от загрузки.

Показометры текущей частоты похоже берут её откуда-нибудь /proc/cpuinfo или /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq (вряд ли) - т.е. показывают частоту в момент обращения, и насрать что между обращениями проц мог значительное время проработать на более высоком или низком режиме. (и, кстати, зачастую показывают вообще один параметр - ведь насрать же что ядер может быть много и все могут работать на разных частотах)

А где бы в /proc или /sys надыбать счётчик количества тактов процессора? Тогда можно было бы оценивать его приращение и прикидывать среднюю частоту исходя из периода опроса.

anonymous(*) (2011-08-24 17:57:00)

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Текущая тактовая частота CPU? от anonymous 2011-08-24 17:57:00
avatar
Скрыть

Re: Текущая тактовая частота CPU?

А разные ядра на корках могут работать с разной частотой ?

anonymous(*)(2011-08-24 18:13:23)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.19) Gecko/20110701 Iceweasel/3.5.19 (like Firefox/3.5.19)
[#] [Добавить метку] [Редактировать] Ответ на: Re: Текущая тактовая частота CPU? от anonymous 2011-08-24 18:13:23
avatar
Скрыть

Re: Текущая тактовая частота CPU?

Да, вот смотри несколько последовательных просмотров имеющихся 4х ядер:

  1.  $ sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
  2.  800000
  3.  3000000
  4.  800000
  5.  1800000
  6.  $ sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
  7.  3000000
  8.  3000000
  9.  3000000
  10.  800000
  11.  $ sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
  12.  800000
  13.  800000
  14.  800000
  15.  3000000
  16.  

И вообще, в общем случае это могут быть физически разные процессоры..

anonymous(*)(2011-08-24 18:22:54)

[#] [Добавить метку] [Редактировать] Ответ на: Re: Текущая тактовая частота CPU? от anonymous 2011-08-24 18:22:54
avatar
Скрыть

Re: Текущая тактовая частота CPU?

2400000

2400000

2400000

2400000

и так без перемен

И у тебя действительно работает команда cat /xxx/xxx*/xxx/file или ты просто так обозначил 0,1,2,3 ?

anonymous(*)(2011-08-24 18:31:55)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.19) Gecko/20110701 Iceweasel/3.5.19 (like Firefox/3.5.19)
[#] [Добавить метку] [Редактировать] Ответ на: Re: Текущая тактовая частота CPU? от anonymous 2011-08-24 18:31:55
avatar
Скрыть

Re: Текущая тактовая частота CPU?

> и так без перемен
Ну хрен тебя знает, посмотри что у тебя есть - может говернёр не "ondemand" выставлен или загрузка процессора под потолок.

Вот что у меня доступно (говернёры и частоты):

  1.  # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
  2.  ondemand userspace performance
  3.  # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
  4.  3000000 2300000 1800000 800000
  5.  

сейчас у меня на ядре 0 стоит говернёр "ondemand":

  1.  # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  2.  ondemand
  3.  

Он сам решает какую частоту выставить, поэтому я не могу влиять на процесс:

  1.  # echo 2300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
  2.  bash: echo: write error: Invalid argument
  3.  

Меняю говернёр на другой и рулю ставлю фиксированную частоту на этом ядре:

  1.  # echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  2.  # echo 2300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
  3.  # cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
  4.  2300000
  5.  800000
  6.  800000
  7.  800000
  8.  # cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
  9.  2300000
  10.  800000
  11.  800000
  12.  800000
  13.  

> И у тебя действительно работает команда cat /xxx/xxx*/xxx/file или ты просто так обозначил 0,1,2,3 ?
Да, как отквочено - так и работает. Только есть одно "но" - файлы-то она надо полагать читает не одновременно, следовательно эксперимент не чистый. Но последний вариант какбэ показывает нам, что ядра работают на разных частотах (у первого фиксированная же), ну и выхлоп утилиты PowerTOP так же доказывает, что разные ядра пребывали в разных режимах разное время:

  1.  PowerTOP 1.98 Overview Idle stats Frequency stats Device stats Tunables
  2.  
  3.  
  4.   Package | CPU 0
  5.  Idle 62.3% | Idle 88.3%
  6.  3.00 Ghz 0.2% | 3.00 Ghz 0.0%
  7.  2.31 Ghz 11.6% | 2.31 Ghz 11.6%
  8.   800 Mhz 25.9% | 800 Mhz 0.0%
  9.  
  10.   | CPU 1
  11.   | Idle 74.8%
  12.   | 3.00 Ghz 0.1%
  13.   | 2.31 Ghz 3.1%
  14.   | 800 Mhz 22.0%
  15.  
  16.   | CPU 2
  17.   | Idle 94.4%
  18.   | 3.00 Ghz 0.1%
  19.   | 800 Mhz 4.9%
  20.   | 2.31 Ghz 0.6%
  21.  
  22.   | CPU 3
  23.   | Idle 99.8%
  24.   | 3.00 Ghz 0.1%
  25.   | 800 Mhz 0.1%
  26.   | 2.31 Ghz 0.0%
  27.  

anonymous(*)(2011-08-24 19:18:59)

[#] [Добавить метку] [Редактировать] Ответ на: Re: Текущая тактовая частота CPU? от anonymous 2011-08-24 18:13:23
avatar
Скрыть

Re: Текущая тактовая частота CPU?

>А разные ядра на корках могут работать с разной частотой ?
Конечно могут. man Turbo Boost

Nosferatu(*)(2011-10-07 07:31:37)

Frag
[#] [Добавить метку] [Редактировать] Ответ на: Текущая тактовая частота CPU? от anonymous 2011-08-24 17:57:00
avatar
Скрыть

Re:Текущая тактовая частота CPU?

asm("rdtsc"); // результат в EDX:EAX, индекс процессора в ECX

anonymous(*)(2011-10-07 11:17:58)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Текущая тактовая частота CPU? от anonymous 2011-10-07 11:17:58
avatar
Скрыть

Re:Текущая тактовая частота CPU?

И как она поведёт себя на многопроцессорной/многоядерной системе где часть ядер может оказаться работающей в гипертрединге, а часть лежит в режиме энергосбережения?

anonymous(*)(2011-10-07 14:30:30)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Текущая тактовая частота CPU? от anonymous 2011-10-07 14:30:30
avatar
Скрыть

Re:Текущая тактовая частота CPU?

http://ru.wikipedia.org/wiki/Rdtsc

bugmaker(*)(2011-10-07 14:54:23)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.17) Gecko/20110422 Ubuntu/10.04 (lucid) Firefox/3.6.17
[#] [Добавить метку] [Редактировать] Ответ на: Re:Текущая тактовая частота CPU? от bugmaker 2011-10-07 14:54:23
avatar
Скрыть

Re:Текущая тактовая частота CPU?

"В современных процессорах Intel, счетчик TSC не зависит от использования технологий энергосбережения и увеличивается на 1 каждый такт, вне зависимости от того, работал ли процессор или находился в состоянии сна. Существует также авто-снижение частот технологиями Cool&Quiet и аналогов" И почему я не удивлён?

anonymous(*)(2011-10-07 15:01:43)

Этот тред читают 2 пользователя:
Анонимных: 2
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!