LINUX.ORG.RU

cpufreqd, nvidia, powersave

 ,


0

1

Карточка Nvidia всё время работает в perfomance mode, когда в конфигурации иксов описано больше одного монитора. Вот думал как её загнть обратно в пониженный, оставив при этом оба монитора. На nvnews хотел спросить, но там анальная регистрация и ленивые администраторы, так что даже тему не запостить. Нагуглил, что cpufreqd может играться с частотами и у невидиии тоже, загвоздка в том, что оно не работает. Проблема похожа на ту, что здесь http://www.gossamer-threads.com/lists/gentoo/user/210908 только modprobe при попытке подгрузить acpi-cpufreq ругается, мол no such device. Таким образом я не могу копать дальше про невидию, потому что модуль для ЦП не загружается.

# zgrep -i freq /proc/config.gz
# CPU Frequency scaling
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
# x86 CPU frequency scaling drivers
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_ACPI_CPUFREQ_CPB is not set
# CONFIG_PM_DEVFREQ is not set

# cat /proc/cpuinfo | grep -m1 acpi
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer aes xsave avx lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
Deleted

Карточка Nvidia всё время работает в perfomance mode, когда в конфигурации иксов описано больше одного монитора.

Стало быть блоб? Тогда в секцию Device:

Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x2; PowerMizerDefaultAC=0x2"
Пояснения в документации драйвера.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

Хороши пояснения.

$ grep  -C3 -i  powermizer  /usr/share/doc/nvidia-drivers-313.26/html/configlaptop.html 
Most recent notebook NVIDIA GPUs also support PowerMizer, which
monitors application work load to adjust system parameters to
deliver the optimal balance of performance and battery life.
However, PowerMizer is only enabled by default on some notebooks.
Please see the known issues below for more details.
--
On some notebooks, PowerMizer is not enabled by default. This
issue is being investigated, and there is no known workaround.
И это единственный файл на весь /usr/share/doc/nvidia-drivers-313.26/, где powermizer упоминается. В манах он не упоминается вообще, за исключением nvidia-settings, и то вскользь.

Ну да ладно, пояснения нашлись на сусефоруме. Мне подобная строчка уже попадалась раньше, но она сопровождалась словами в духе «это выставление настроек такое же, как делает nvidia-settings, в общем, дефолт, который и так у вас есть». Однако ж вставив её сейчас я могу сказать, что это железное выставление настроек, и что adaptive mode в этих дровах не работает. Да, я дочитал до того места, где говорится о том, что adaptive это 0x3333, и пробовал его тоже. Проблема в том, что в nvidia-settings он был выставлен всегда, независимо от того, что в xorg.conf (и до экспериментов, естессно, тоже). А вот частоты, кстати, меняются. Однако ж выставленные в xorg.conf будучи в иксах не изменить. И нагрузка их не меняет, проверено.

Ещё могу заметить, что вопреки написанному на форуме по ссылке, настройки из xorg.conf начинают действовать без выгрузки модуля ядра, если только эта операция в современных иксах не производится автоматически, и я её не замечаю. В любом случае, я не знаю, как проверить время с загрузки модуля, чтоб его сравнить.

Deleted
()
Ответ на: комментарий от Deleted

Хороши пояснения.

Странно, почему-то я думал, что пояснения в документации есть, а оно вот как.

и что adaptive mode в этих дровах не работает

Вы вероятнее всего правы, в том смысле что adaptive mode при нескольких мониторах не включить. Только вот, как в моём примере, например выставить средний режим, чтобы не грелось и не лагало.

В общем, пинайте nVidia.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

а оно вот как

Ой, только не этот ещё-один-форум-для-разработчиков-игрушек. На nvnews.net на него начали плеваться ещё когда он только появился на свет и начал себя рекламировать.

в том смысле что adaptive mode при нескольких мониторах не включить.

Мде? Придётся дальше скриптовать тогда. Хочу чтоб видюшка пожила ещё.

http://nvidia.custhelp.com

Месье умеет выбирать ссылки.

Deleted
()
Ответ на: комментарий от RussianNeuroMancer

Хотя стоп, создавая топик, я вообще надеялся, что cpufreqd сможет управлять частотами, ориентируясь на нагрузку. Так что вопрос о его использовании остаётся открытым.

Deleted
()
Последнее исправление: fargred (всего исправлений: 2)
Ответ на: комментарий от RussianNeuroMancer

Странно, почему-то я думал, что пояснения в документации есть, а оно вот как.

Lets explain RegistryDWords field: 
«PowerMizerEnable=0x1;
 enables PowerMizer feature (0x0 would disable it instead). This entry may not be needed since in recent driver versions PowerMizer is enabled by default. 
PerfLevelSrc=0x2222;
 sets the governor approach. 0x2222 means fixed frequencies for both battery and AC mode. 
PowerMizerLevel=0x3;
 sets the current mode. 0x3 is the lowest, least power intensive mode. 
PowerMizerDefault=0x3;
 sets the default level on battery. 0x3 is the lowest, least power intensive mode. 
PowerMizerDefaultAC=0x3»
 sets the default level while with an AC plug. 0x3 is the lowest, least power intensive mode. Artem has written a very useful and detailed explanation on the meaning of these and others nvidia registry words 
Darkman ★★★
()
Ответ на: комментарий от RussianNeuroMancer

Это из документации или откуда?

Когда-то было нарыто в сети.

Darkman ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.