Как мне настроить регулятор частоты процессора для всех ядер сразу?

Нашел решение: у меня первоначально был принтер, работающий под 11.10 с michael gruz ppa, но это больше не работало в 12.04, и попытка установить из диспетчера печати Ubuntu тоже не работала.

I нашел michael gruz ppa, который был обновлен для 12.04: https://code.launchpad.net/~michael-gruz/+archive/canon-trunk/+packages

Сначала я удалил старый драйвер с помощью Synaptic Package Manager, а затем добавил новый:

sudo add-apt-repository ppa:michael-gruz/canon-trunk
sudo apt-get update
sudo apt-get install cnijfilter-mx870series

После этого работала установка принтера с менеджером печати. ​​

31
задан 6 January 2011 в 12:58

65 ответов

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный код в свой .bashrc:

function setgov ()
{
    echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 
}

Теперь я могу запускать что-то вроде setgov ondemand и всех ядра переключится на регулятор ondemand.

13
ответ дан 25 May 2018 в 23:37
  • 1
    Это не работает, поскольку файл scaling_governor принадлежит root и имеет ограниченные разрешения. Изменение разрешений не всегда рекомендуется. – Sri 11 September 2014 в 14:16
  • 2
    См. Альтернативный сценарий в моем комментарии к user49449. – Sri 11 September 2014 в 14:53

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный код в свой .bashrc:

function setgov () { echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor }

Теперь я могу запускать что-то вроде setgov ondemand и всех ядра переключится на регулятор ondemand.

14
ответ дан 25 July 2018 в 22:39

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный код в свой .bashrc:

function setgov () { echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor }

Теперь я могу запускать что-то вроде setgov ondemand и всех ядра переключится на регулятор ondemand.

14
ответ дан 26 July 2018 в 23:26

я погуглил много, и я думаю, что это просто не возможно, поэтому я добавил следующую команду, чтобы мой .bashrc:

function setgov () { echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor }

теперь я могу запустить что-то вроде setgov ondemand и всех ядер переключается на регулятор ondemand.

14
ответ дан 31 July 2018 в 10:31

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный код в свой .bashrc:

function setgov () { echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor }

Теперь я могу запускать что-то вроде setgov ondemand и всех ядра переключится на регулятор ondemand.

14
ответ дан 31 July 2018 в 11:33

я погуглил много, и я думаю, что это просто не возможно, поэтому я добавил следующую команду, чтобы мой .bashrc:

function setgov () { echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor }

теперь я могу запустить что-то вроде setgov ondemand и всех ядер переключается на регулятор ondemand.

14
ответ дан 2 August 2018 в 04:05

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный вклад в мою .bashrc :

  function setgov () {  эхо "$ 1" |  sudo tee / sys / devices / system / cpu / cpu * / cpufreq / scaling_governor}  

Теперь я могу запустить что-то вроде setgov ondemand , и все ядра переключится на регулятор ondemand .

14
ответ дан 4 August 2018 в 20:09

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный вклад в мою .bashrc :

  function setgov () {  эхо "$ 1" |  sudo tee / sys / devices / system / cpu / cpu * / cpufreq / scaling_governor}  

Теперь я могу запустить что-то вроде setgov ondemand , и все ядра переключится на регулятор ondemand .

14
ответ дан 6 August 2018 в 04:10

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный вклад в мою .bashrc :

  function setgov () {  эхо "$ 1" |  sudo tee / sys / devices / system / cpu / cpu * / cpufreq / scaling_governor}  

Теперь я могу запустить что-то вроде setgov ondemand , и все ядра переключится на регулятор ondemand .

14
ответ дан 7 August 2018 в 22:10

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный вклад в мою .bashrc :

  function setgov () {  эхо "$ 1" |  sudo tee / sys / devices / system / cpu / cpu * / cpufreq / scaling_governor}  

Теперь я могу запустить что-то вроде setgov ondemand , и все ядра переключится на регулятор ondemand .

14
ответ дан 10 August 2018 в 10:24

Я много гулял, и я думаю, что это просто невозможно, поэтому я добавил следующий однострочный вклад в мою .bashrc :

  function setgov () {  эхо "$ 1" |  sudo tee / sys / devices / system / cpu / cpu * / cpufreq / scaling_governor}  

Теперь я могу запустить что-то вроде setgov ondemand , и все ядра переключится на регулятор ondemand .

14
ответ дан 13 August 2018 в 16:49
  • 1
    Это не работает, поскольку файл scaling_governor принадлежит root и имеет ограниченные разрешения. Изменение разрешений не всегда рекомендуется. – Sri 11 September 2014 в 14:16
  • 2
    См. Альтернативный сценарий в моем комментарии к user49449. – Sri 11 September 2014 в 14:53

Я все еще Linux noob, но вы не думаете, что cpufrequtils позволяет делать это, используя (его не входит в Ubuntu OS, но есть в репозитории)

sudo apt-get install cpufrequtils
sudo cpufreq-set -r -g performance
[ f2] используется для установки изменений для всех («всех связанных с оборудованием») ядер
18
ответ дан 25 May 2018 в 23:37
  • 1
    Параметр -r не делает этого для всех ядер. Мы должны указать номер процессора с опцией -c & lt; number & gt; однако этот скрипт сделает это для всех cpus за один раз: for ((i = 0; i & lt; $ (nproc); i ++)); do cpufreq-set -c $ i -r -g performance; сделанный – Sri 11 September 2014 в 14:50
  • 2
    Именно, @Sri прав. cpufreq-set на самом деле не хватает в конечном счете простой, но необходимой функциональности. Многие люди, как ясно показывают эти показания, просто не знают об этом, потому что его описание просто вводит в заблуждение, чтобы справиться с этим. – poige 27 October 2015 в 20:43
  • 3
    Кто дает эти + 1 без тестирования ???? Это не работает вообще. Я опубликовал простейшее рабочее решение, которое я смог найти. – switch87 1 December 2016 в 16:51

кратчайшая команда для изменения регулятора всех ядер следующая:

sudo bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done'

Вы можете добавить его в .bashrc, как упоминалось выше, вам нужно запустить его как root sudo setgov performance: [ ! d1]

function setgov ()
{
     for i in {0..7}; 
     do 
         cpufreq-set -c $i -g $1; 
     done
}
2
ответ дан 25 May 2018 в 23:37

Основываясь на ответе switch87, я сделал простой скрипт cpufreq-set-all, который позволит делать другие вещи cpufreq-set со всеми CPU:

   #!/bin/bash
   MAX_CPU=$((`nproc --all` - 1))
   for i in $(seq 0 $MAX_CPU); do
       echo "Changing CPU " $i " with parameter "$@;
       cpufreq-set -c $i $@ ;
   done

Теперь его можно вызвать (после chmod +x, конечно) следующим образом:

cpufreq-set-all -g powersave

или

cpufreq-set-all -f 800Mhz
0
ответ дан 25 May 2018 в 23:37

Способ, которым я устанавливал это, поскольку регулятор по умолчанию возвращается к powersave примерно через 30 секунд, начиная с Ubuntu 16.04 или раньше (я на Ubuntu Mate);

Положите это (одна строка ) (спасибо, любезно предоставлен switch87 в предыдущем ответе)
sleep 60 && bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done'
в файл в каталоге
/etc/rc.local

Mine - это строка выше «exit 0» и без комментирования под комментариями.

«rc.local» для тех, кто этого не знает, он выполняет команду как sudo. Любая команда, которая, кажется, изменит регулятор, должна быть запущена как sudo.

Позволяет регулятору снова возвращаться к энергосбережению и запускает код как sudo через 60 секунд, чтобы изменить его на производительность.

Измените «60» (в коде, который вы копируете), в любое время (в секундах 60 = 60 секунд = 1 минута) вам нужно отложить команду и «производительность» (в части команды), чтобы губернатор, к которому вы хотите, чтобы он изменился.

Из моих часов и часов поиска я не нашел более постоянного исправления для этого, чем это. Я понимаю, что за пару минут, что это на powersave, если это лучшее исправление, которое я нашел, правильно? Правильно.

Не лучшее исправление, но оно делает его несколько постоянным после того, как он немного переключится на функцию powerave. Если вы хотите загрузиться прямо и перейти в игру или что-то, что вам нужно будет подождать минутку для кода, который вы только что включили, чтобы переключить его обратно с powerave или уменьшить время на нем (в зависимости от того, сколько времени потребуется

И, как всегда, вернуться к умолчанию (я видел некоторые проблемы с перегревом ПК людей, поэтому они могли бы отключиться от дефолта он, прежде всего, в первую очередь), просто удалите код из rc.local и перезагрузите его или переключите обратно вручную с помощью переключателя индикаторов пиктограмм cpu или запустите,

 sudo /etc/init.d/cpufrequtils restart

в терминале и / или перезагрузитесь. [ ! d13]

0
ответ дан 25 May 2018 в 23:37

Я все еще Linux noob, но вы не думаете, что cpufrequtils позволяет делать это, используя (его не входит в Ubuntu OS, но есть в репозитории)

sudo apt-get install cpufrequtils sudo cpufreq-set -r -g performance -r используется для установки изменений для всех («всех связанных с оборудованием») ядер
19
ответ дан 25 July 2018 в 22:39
  • 1
    Параметр -r не делает этого для всех ядер. Мы должны указать номер процессора с опцией -c & lt; number & gt; однако этот скрипт сделает это для всех cpus за один раз: for ((i = 0; i & lt; $ (nproc); i ++)); do cpufreq-set -c $ i -r -g performance; сделанный – Sri 11 September 2014 в 14:50
  • 2
    Именно, @Sri прав. cpufreq-set на самом деле не хватает в конечном счете простой, но необходимой функциональности. Многие люди, как ясно показывают эти показания, просто не знают об этом, потому что его описание просто вводит в заблуждение, чтобы справиться с этим. – poige 27 October 2015 в 20:43
  • 3
    Кто дает эти + 1 без тестирования ???? Это не работает вообще. Я опубликовал простейшее рабочее решение, которое я смог найти. – switch87 1 December 2016 в 16:51

исходя из ответа switch87, я сделал простой скрипт cpufreq-set-all, который позволит заниматься другими cpufreq-set вещи для геймеров:

#!/bin/bash MAX_CPU=$((`nproc --all` - 1)) for i in $(seq 0 $MAX_CPU); do echo "Changing CPU " $i " with parameter "$@; cpufreq-set -c $i $@ ; done

теперь это может быть вызвано(после chmod +x, конечно) такой:

cpufreq-set-all -g powersave

или

cpufreq-set-all -f 800Mhz
0
ответ дан 25 July 2018 в 22:39

могли бы также добавить в bash автодополнение кода, в то время как мы на это:

function setgovernor () { echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor } complete -W "$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors)" setgovernor
1
ответ дан 25 July 2018 в 22:39

Способ, которым я устанавливал это, поскольку регулятор по умолчанию возвращается к powersave примерно через 30 секунд, начиная с Ubuntu 16.04 или раньше (я на Ubuntu Mate);

Положите это (одна строка ) (спасибо, любезно предоставлен switch87 в предыдущем ответе) sleep 60 && bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done' в файл в каталоге /etc/rc.local

Mine - это строка выше «exit 0» и без комментирования под комментариями.

«rc.local» для тех, кто этого не знает, он выполняет команду как sudo. Любая команда, которая, кажется, изменит регулятор, должна быть запущена как sudo.

Позволяет регулятору снова возвращаться к энергосбережению и запускает код как sudo через 60 секунд, чтобы изменить его на производительность.

Измените «60» (в коде, который вы копируете), в любое время (в секундах 60 = 60 секунд = 1 минута) вам нужно отложить команду и «производительность» (в части команды), чтобы губернатор, к которому вы хотите, чтобы он изменился.

Из моих часов и часов поиска я не нашел более постоянного исправления для этого, чем это. Я понимаю, что за пару минут, что это на powersave, если это лучшее исправление, которое я нашел, правильно? Правильно.

Не лучшее исправление, но оно делает его несколько постоянным после того, как он немного переключится на функцию powerave. Если вы хотите загрузиться прямо и перейти в игру или что-то, что вам нужно будет подождать минуту для кода, который вы только что включили, чтобы переключить его обратно с режима powerave или уменьшить время на нем (в зависимости от того, сколько времени потребуется

И, как всегда, вернуться к умолчанию (я видел некоторые проблемы с перегревом ПК людей, поэтому они могли бы отключиться от дефолта он, прежде всего, в первую очередь), просто удалите код из rc.local и перезагрузите его или переключите обратно вручную с помощью переключателя индикаторов пиктограмм cpu или запустите,

sudo /etc/init.d/cpufrequtils restart

в терминале и / или перезагрузитесь. [ ! d13]

0
ответ дан 25 July 2018 в 22:39

кратчайшая команда для изменения регулятора всех ядер следующая:

sudo bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done'

Вы можете добавить его в .bashrc, как упоминалось выше, вам нужно запустить его как root sudo setgov performance: [ ! d1] function setgov () { for i in {0..7}; do cpufreq-set -c $i -g $1; done }

4
ответ дан 25 July 2018 в 22:39

я еще нуб в Linux, но вам не кажется, что cpufrequtils позволяет использовать (не в комплекте в ОС Ubuntu, но есть в репозитории)

sudo apt-get install cpufrequtils sudo cpufreq-set -r -g performance и -r флаг используется, чтобы установить изменения для всех ("все оборудование, связанных с") ядер
19
ответ дан 26 July 2018 в 23:26
  • 1
    Параметр -r не делает этого для всех ядер. Мы должны указать номер процессора с опцией -c & lt; number & gt; однако этот скрипт сделает это для всех cpus за один раз: for ((i = 0; i & lt; $ (nproc); i ++)); do cpufreq-set -c $ i -r -g performance; сделанный – Sri 11 September 2014 в 14:50
  • 2
    Точно, @Шри-правильно. [F1] в самом деле не хватает, в конечном итоге, простые, но необходимые функции. Много людей, как это голосование четко показывает счетчики просто не знаю, потому что его описание просто сообщают в довершение. – poige 27 October 2015 в 20:43
  • 3
    Кто дает эти +1 без тестирования???? Это не работает на всех. Я написал самое простое рабочее решение я нашел. – switch87 1 December 2016 в 16:51

исходя из ответа switch87, я сделал простой скрипт cpufreq-set-all, который позволит заниматься другими cpufreq-set вещи для геймеров:

#!/bin/bash MAX_CPU=$((`nproc --all` - 1)) for i in $(seq 0 $MAX_CPU); do echo "Changing CPU " $i " with parameter "$@; cpufreq-set -c $i $@ ; done

теперь это может быть вызвано(после chmod +x, конечно) такой:

cpufreq-set-all -g powersave

или

cpufreq-set-all -f 800Mhz
0
ответ дан 26 July 2018 в 23:26

Мог бы добавить дополнение кода bash, пока мы на нем:

function setgovernor () { echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor } complete -W "$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors)" setgovernor
1
ответ дан 26 July 2018 в 23:26

я это палка с губернатором по умолчанию в режим энергосбережения примерно через 30 секунд теперь, как убунту 16.04 или рано (я на Ubuntu мат);

поставить это (одна строка) кода (спасибо, любезно switch87 в предыдущем ответе) sleep 60 && bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done' в файл в директории /etc/rc.local

моя линия выше "выход 0" и комментарии под прокомментировала те.

"радиоуправляемый.местные" для тех, кто не знает, он выполняет команду как sudo. Любая команда, похоже, менять губернатора, нужно запустить как sudo.

это позволяет губернатору сбросить обратно в режим экономии энергии и выполняет код как sudo после 60 секунд, чтобы изменить его обратно на производительность.

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

из моих часов и часов поиска я не нашел более постоянное Исправление для этого, чем эта. Я думаю, что за пару минут, что это на режим энергосбережения, если это лучшее решение я нашел, верно? Право.

не лучшее решение, но это делает его немного постоянного после это маленький переключатель в режим экономии энергии вещь. Если вы хотите загружать прямо вверх и прыгать в игре, или что-то вам придется подождать, пока код вы просто вставляете в переключить его обратно от энергосбережения или меньше времени на это (в зависимости от того, как долго он принимает все, чтобы начать, так это переключиться на производительность правильно).

и, как всегда, чтобы вернуться к значению по умолчанию (я видел некоторые проблемы с людьми, ПК перегрева, который является, почему они могли бы дефолт это режим энергосбережения, в первую очередь) просто удалить код из RC.местное и перезагрузите компьютер или включите его обратно вручную с индикатором значок процессора видеомикшера или бежать;

sudo /etc/init.d/cpufrequtils restart

в терминале и или перезагрузки.

0
ответ дан 26 July 2018 в 23:26

кратчайшая команда для изменения регулятора всех ядер следующая:

sudo bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done'

Вы можете добавить его в .bashrc, как упоминалось выше, вам нужно запустить его как root sudo setgov performance: [ ! d1] function setgov () { for i in {0..7}; do cpufreq-set -c $i -g $1; done }

4
ответ дан 26 July 2018 в 23:26

я еще нуб в Linux, но вам не кажется, что cpufrequtils позволяет использовать (не в комплекте в ОС Ubuntu, но есть в репозитории)

sudo apt-get install cpufrequtils sudo cpufreq-set -r -g performance и -r флаг используется, чтобы установить изменения для всех ("все оборудование, связанных с") ядер
19
ответ дан 31 July 2018 в 10:31
  • 1
    Параметр-R соответствующий параметр не для всех ядер. Мы должны указать номер CPU с помощью опции -C <номер>, однако, этот скрипт будет делать это для всех процессоров на одном дыхании: для ((я=0;я<$(nproc);я++)); сделать подсистема cpufreq-набор -с $я -Р-Г производительность; сделано – Sri 11 September 2014 в 14:50
  • 2
    Именно, @Sri прав. cpufreq-set на самом деле не хватает в конечном счете простой, но необходимой функциональности. Многие люди, как ясно показывают эти показания, просто не знают об этом, потому что его описание просто вводит в заблуждение, чтобы справиться с этим. – poige 27 October 2015 в 20:43
  • 3
    Кто дает эти +1 без тестирования???? Это не работает на всех. Я написал самое простое рабочее решение я нашел. – switch87 1 December 2016 в 16:51

Основываясь на ответе switch87, я сделал простой скрипт cpufreq-set-all, который позволит делать другие вещи cpufreq-set со всеми CPU:

#!/bin/bash MAX_CPU=$((`nproc --all` - 1)) for i in $(seq 0 $MAX_CPU); do echo "Changing CPU " $i " with parameter "$@; cpufreq-set -c $i $@ ; done

Теперь его можно вызвать (после chmod +x, конечно) следующим образом:

cpufreq-set-all -g powersave

или

cpufreq-set-all -f 800Mhz
0
ответ дан 31 July 2018 в 10:31

Мог бы добавить дополнение кода bash, пока мы на нем:

function setgovernor () { echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor } complete -W "$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors)" setgovernor
1
ответ дан 31 July 2018 в 10:31

я это палка с губернатором по умолчанию в режим энергосбережения примерно через 30 секунд теперь, как убунту 16.04 или рано (я на Ubuntu мат);

поставить это (одна строка) кода (спасибо, любезно switch87 в предыдущем ответе) sleep 60 && bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done' в файл в директории /etc/rc.local

моя линия выше "выход 0" и комментарии под прокомментировала те.

"радиоуправляемый.местные" для тех, кто не знает, он выполняет команду как sudo. Любая команда, похоже, менять губернатора, нужно запустить как sudo.

это позволяет губернатору сбросить обратно в режим экономии энергии и выполняет код как sudo после 60 секунд, чтобы изменить его обратно на производительность.

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

из моих часов и часов поиска я не нашел более постоянное Исправление для этого, чем эта. Я думаю, что за пару минут, что это на режим энергосбережения, если это лучшее решение я нашел, верно? Право.

не лучшее решение, но это делает его немного постоянного после это маленький переключатель в режим экономии энергии вещь. Если вы хотите загружать прямо вверх и прыгать в игре, или что-то вам придется подождать, пока код вы просто вставляете в переключить его обратно от энергосбережения или меньше времени на это (в зависимости от того, как долго он принимает все, чтобы начать, так это переключиться на производительность правильно).

и, как всегда, чтобы вернуться к значению по умолчанию (я видел некоторые проблемы с людьми, ПК перегрева, который является, почему они могли бы дефолт это режим энергосбережения, в первую очередь) просто удалить код из RC.местное и перезагрузите компьютер или включите его обратно вручную с индикатором значок процессора видеомикшера или бежать;

sudo /etc/init.d/cpufrequtils restart

в терминале и или перезагрузки.

0
ответ дан 31 July 2018 в 10:31

кратчайшая команда для изменения регулятора всех ядер следующая:

sudo bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done'

Вы можете добавить его в .bashrc, как упоминалось выше, вам нужно запустить его как root sudo setgov performance: [ ! d1] function setgov () { for i in {0..7}; do cpufreq-set -c $i -g $1; done }

4
ответ дан 31 July 2018 в 10:31

Другие вопросы по тегам:

Похожие вопросы: