Отключить гиперпоточность в Ubuntu

Я запускаю сервер ubuntu 16.04. Я вижу, что потоковая реклама включена, когда я использую команду lscpu.

Я хочу ее отключить. Я прошел через форумы ubuntu и здесь и здесь.

Это хорошие обсуждения, почему гиперпоточность может быть не очень хорошей. Но нет окончательного решения о том, как отключить его.

Можно ли дать инструкции по отключению гиперпотока? Спасибо.

5
задан 3 August 2017 в 20:11

8 ответов

Для систем, в которых на материнской плате размещаются несколько гнезд процессора, требуется несколько более надежный способ поиска в ядре для пар hyperthread, потому что core_id дублируется. Вот моя версия в системе с двумя 8-ядерными чипами Xeon (пример из Ubuntu 16.04):

$ cat /sys/devices/system/cpu/cpu*/topology/thread_siblings_list \ > | sort --unique --numeric-sort 0,16 1,17 2,18 3,19 4,20 5,21 6,22 7,23 8,24 9,25 10,26 11,27 12,28 13,29 14,30 15,31

Для различных целей вы также можете посмотреть в файлах

/sys/devices/system/cpu/present /sys/devices/system/cpu/online /sys/devices/system/cpu/offline
0
ответ дан 18 July 2018 в 09:07

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

Идея HT состоит в наличии нескольких наборов процессоров регистры для каждого физического ядра (так называемые виртуальные ядра). Нет «лучшего» виртуального ядра, они идентичны.

Сначала вы хотите узнать, какая пара виртуальных ядер принадлежит физическому ядру в файловой системе /sys/. Вы можете использовать файл core_id для этого:

λ grep "" /sys/devices/system/cpu/cpu*/topology/core_id /sys/devices/system/cpu/cpu0/topology/core_id:0 /sys/devices/system/cpu/cpu1/topology/core_id:2 /sys/devices/system/cpu/cpu2/topology/core_id:0 /sys/devices/system/cpu/cpu3/topology/core_id:2

Из вывода вы можете сделать вывод, что cpu0 + cpu2 содержатся в одном физическом ядре, а cpu1 + cpu3 - в другом. Теперь добавьте привилегии и используйте команду echo, чтобы отключить ее в каждой паре:

λ sudo -s # echo 0 > /sys/devices/system/cpu/cpu1/online # echo 0 > /sys/devices/system/cpu/cpu2/online

Обратите внимание, что cpu0 не имеет «онлайн-файла» и не может быть отключен, поэтому я отключил cpu2 .

0
ответ дан 18 July 2018 в 09:07

Вот сценарий для идентификации ht-ядер и переключения их в онлайн / офлайн.

#!/bin/bash typeset -i core_id typeset -i sibling_id typeset -i state for i in /sys/devices/system/cpu/cpu[0-9]*; do core_id="${i##*cpu}" sibling_id="-1" if [ -f ${i}/topology/thread_siblings_list ]; then sibling_id="$(cut -d',' -f1 ${i}/topology/thread_siblings_list)" fi if [ $core_id -ne $sibling_id ]; then state="$(<${i}/online)" echo -n "$((1-state))" > "${i}/online" echo "switched ${i}/online to $((1-state))" fi done

@ WinEunuuchs2Unix, может быть, вы можете добавить это к своему отличному ответу.

0
ответ дан 18 July 2018 в 09:07

Введение

Это интересный вопрос. Наверное, один из самых интересных в месяцах для меня лично. Как и OP, нет возможности отключить Hyper Threading в моем старом BIOS (изобретен 2012, обновлено 2016 или около того).

Ошибки гипертекста в Intel Skylake и Kaby Lake:

Любой, кто использует процессоры Intel Skylake или Kaby Lake, должен прочитать отчеты об ошибках в Hyper Threading, которые появились пару месяцев назад. В этой истории в британском регистре рассказывается, как разработчики Debian заметили, как Hyper Threading может сбой и повреждение машины.

В прошлом году у Skylake появилось множество проблем, о которых сообщалось в Ask Ubuntu, и каждый задается вопросом, как определить, какие проблемы могут быть вызваны ошибками Hyper Threading.

Этот ответ разделен на три части:

Отображение процессоров, когда Hyper-Threading выключен / включен скрипт Bash для автоматизации выключения гиперпотока при включении Conny Crashes, если Hyper Threading выключен до его запуска ]

Отображение процессоров при выключении / включении Hyper-Threading

Ниже вы можете увидеть использование ЦП при отключении гиперпотока и провести стресс-тест ЦП. Примерно через 10 секунд повторяется один и тот же сценарий с включенной гиперпотокой. Наконец, через 10 секунд сценарий запускается с гиперпотоком, выключенным снова:

Дисплей разделен на две части:

Дисплей CPU, когда Hyper-Threading выключен / включен В правой половине conky отображается процентное использование CPU с CPUS 1 до 8.

Первый запуск скрипта Hyper Threading off

При первом запуске скрипта CPU Numbers 2, 4, 6 & amp; 8 (согласно Конки) заморожены на 3%, 2%, 2% и 2%. Число CPU 1, 3, 5 и 7 достигает 100%, пока выполняется стресс-тест.

Топология CPU отображается с отключением гиперпотока и сообщены только четыре ядра:

/sys/devices/system/cpu/cpu0/topology/core_id:0 /sys/devices/system/cpu/cpu2/topology/core_id:1 /sys/devices/system/cpu/cpu4/topology/core_id:2 /sys/devices/system/cpu/cpu6/topology/core_id:3

Второй скрипт запускает Hyper Threading на

Во второй раз, когда запущен скрипт, включен режим Hyper-Threading, а все номера CPU 1-8 достигают 100% при выполнении стресс-теста.

Топология ЦП отображается с включенной гиперпотокой, и сообщалось только четыре ядра плюс четыре виртуальных ядра:

/sys/devices/system/cpu/cpu0/topology/core_id:0 /sys/devices/system/cpu/cpu1/topology/core_id:0 /sys/devices/system/cpu/cpu2/topology/core_id:1 /sys/devices/system/cpu/cpu3/topology/core_id:1 /sys/devices/system/cpu/cpu4/topology/core_id:2 /sys/devices/system/cpu/cpu5/topology/core_id:2 /sys/devices/system/cpu/cpu6/topology/core_id:3 /sys/devices/system/cpu/cpu7/topology/core_id:3

Третий запуск скрипта Hyper Threading off

Обратите внимание, что после завершения второго скрипта процессоры 2, 4, 6 и 8 работают на холостом ходу на 4%, 2%, 3%, 4%. Это важно, потому что в третьем тестовом режиме выключение Hyper-Threading показывает, что проценты CPU замерзают на 4%, 2%, 3%, 4%, а не 3%, 2%, 2% и 2% от первого теста.

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

Также обратите внимание, независимо от того, включен или выключен Hyper-Threading. Скрипт все еще отображает «Hyper Threading Поддерживается ".

Сценарий Bash для автоматизации поворота гиперпотока off / on

При просмотре сценария ниже помните, что Conky выводит ЦП с 1 до 8, но Linux задает процессоры от 0 до 7.

#!/bin/bash # NAME: set-hyper-threading # PATH: /usr/local/bin # DESC: Turn Hyper threading off or on. # DATE: Aug. 5, 2017. # NOTE: Written Part of testing for Ubuntu answer: # https://askubuntu.com/questions/942728/disable-hyper-threading-in-ubuntu/942843#942843 # PARM: 1="0" turn off hyper threading, "1" turn it on. if [[ $# -ne 1 ]]; then echo 'One argument required. 0 to turn off hyper-threading or' echo '1 to turn hyper-threading back on' exit 1 fi echo $1 > /sys/devices/system/cpu/cpu1/online echo $1 > /sys/devices/system/cpu/cpu3/online echo $1 > /sys/devices/system/cpu/cpu5/online echo $1 > /sys/devices/system/cpu/cpu7/online grep "" /sys/devices/system/cpu/cpu*/topology/core_id grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \ echo "Hyper-threading is supported" grep -E 'model|stepping' /proc/cpuinfo | sort -u stress --cpu 8 --io 1 --vm 1 --vm-bytes 128M --timeout 10s

ПРИМЕЧАНИЕ. Программа stress встроена во все системы Debian, которые Ubuntu является производным от. Поэтому вам не нужно загружать и устанавливать любые пакеты для запуска этого скрипта в Ubuntu.

Если у вас есть двухъядерный процессор, вам нужно удалить (или прокомментировать #) строки, управляющие процессором номера 5 и 7.

Подтвердить для строки bash grep "" /sys/devices/system/cpu/cpu*/topology/core_id, отображающей топологию ЦП.

Conky Crashes, если Hyper Threading выключен до того, как он запустится

Чтобы получить CPU 2, 4, 6, 8 до самого низкого процента использования, я попытался отключить Hyper-Threading во время загрузки. Я использовал этот скрипт для этого:

# NAME: /etc/cron.d/turn-off-hyper-threading # DATE: Auguust 5, 1017 # DESC: This turns off CPU 1, 3, 5 & 7 # NOTE: Part of testing for Ubuntu answer: # https://askubuntu.com/questions/942728/disable-hyper-threading-in-ubuntu/942843#942843 # BUGS: Conky crashes with Segmentation Fault when CPU 2,4,6 & 8 (as conky calls them) # are off-line. # SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # # @reboot root echo 0 > /sys/devices/system/cpu/cpu1/online # @reboot root echo 0 > /sys/devices/system/cpu/cpu3/online # @reboot root echo 0 > /sys/devices/system/cpu/cpu5/online # @reboot root echo 0 > /sys/devices/system/cpu/cpu7/online

Однако conky выходит из строя с ошибкой сегментации, если гиперпоточность отключается при ее запуске. Таким образом, мне пришлось прокомментировать четыре строки @reboot в сценарии.

Код Conky для отображения коэффициента использования процентов и коэффициента загрузки процессора

Если вы заинтересованы в создании аналогичного Отображение в Conky здесь - соответствующий фрагмент кода:

${color orange}${voffset 2}${hr 1} ${color2}${voffset 5}Intel® i-7 3630QM 3.4 GHz: ${color1}@ ${color green}${freq} MHz ${color}${goto 13}CPU 1 ${goto 81}${color green}${cpu cpu1}% ${goto 131}${color3}${cpubar cpu1 18} ${color}${goto 13}CPU 2 ${goto 81}${color green}${cpu cpu2}% ${goto 131}${color3}${cpubar cpu2 18} ${color}${goto 13}CPU 3 ${goto 81}${color green}${cpu cpu3}% ${goto 131}${color3}${cpubar cpu3 18} ${color}${goto 13}CPU 4 ${goto 81}${color green}${cpu cpu4}% ${goto 131}${color3}${cpubar cpu4 18} ${color}${goto 13}CPU 5 ${goto 81}${color green}${cpu cpu5}% ${goto 131}${color3}${cpubar cpu5 18} ${color}${goto 13}CPU 6 ${goto 81}${color green}${cpu cpu6}% ${goto 131}${color3}${cpubar cpu6 18} ${color}${goto 13}CPU 7 ${goto 81}${color green}${cpu cpu7}% ${goto 131}${color3}${cpubar cpu7 18} ${color}${goto 13}CPU 8 ${goto 81}${color green}${cpu cpu8}% ${goto 131}${color3}${cpubar cpu8 18} ${color1}All CPU ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 2 temp 1}°C ${goto 250}${color1}Up: ${color green}$uptime ${color green}$running_processes ${color1}running of ${color green}$processes ${color1}loaded processes. Load Avg. 1-5-15 minutes: ${alignr}${color green}${execpi .001 (awk '{printf "%s/", $1}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $2}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $3}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${color1}NVIDIA ${color}-GPU ${color green}${nvidia gpufreq} Mhz ${color}-Memory ${color green}${nvidia memfreq} Mhz ${color1}GT650M ${color}-Temp ${color green}${nvidia temp}°C ${color}-Threshold ${color green}${nvidia threshold}°C ${color orange}${voffset 2}${hr 1}

ПРИМЕЧАНИЕ: Код Nvidia выше никогда не тестировался, потому что у меня еще нет графического процессора Nvidia под Ubuntu , Любой год скоро:)

4
ответ дан 18 July 2018 в 09:07

Для систем, в которых на материнской плате размещаются несколько гнезд процессора, требуется несколько более надежный способ поиска в ядре для пар hyperthread, потому что core_id дублируется. Вот моя версия в системе с двумя 8-ядерными чипами Xeon (пример из Ubuntu 16.04):

$ cat /sys/devices/system/cpu/cpu*/topology/thread_siblings_list \ > | sort --unique --numeric-sort 0,16 1,17 2,18 3,19 4,20 5,21 6,22 7,23 8,24 9,25 10,26 11,27 12,28 13,29 14,30 15,31

Для различных целей вы также можете посмотреть в файлах

/sys/devices/system/cpu/present /sys/devices/system/cpu/online /sys/devices/system/cpu/offline
0
ответ дан 24 July 2018 в 19:15

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

Идея HT состоит в наличии нескольких наборов процессоров регистры для каждого физического ядра (так называемые виртуальные ядра). Нет «лучшего» виртуального ядра, они идентичны.

Сначала вы хотите узнать, какая пара виртуальных ядер принадлежит физическому ядру в файловой системе /sys/. Вы можете использовать файл core_id для этого:

λ grep "" /sys/devices/system/cpu/cpu*/topology/core_id /sys/devices/system/cpu/cpu0/topology/core_id:0 /sys/devices/system/cpu/cpu1/topology/core_id:2 /sys/devices/system/cpu/cpu2/topology/core_id:0 /sys/devices/system/cpu/cpu3/topology/core_id:2

Из вывода вы можете сделать вывод, что cpu0 + cpu2 содержатся в одном физическом ядре, а cpu1 + cpu3 - в другом. Теперь добавьте привилегии и используйте команду echo, чтобы отключить ее в каждой паре:

λ sudo -s # echo 0 > /sys/devices/system/cpu/cpu1/online # echo 0 > /sys/devices/system/cpu/cpu2/online

Обратите внимание, что cpu0 не имеет «онлайн-файла» и не может быть отключен, поэтому я отключил cpu2 .

0
ответ дан 24 July 2018 в 19:15

Вот сценарий для идентификации ht-ядер и переключения их в онлайн / офлайн.

#!/bin/bash typeset -i core_id typeset -i sibling_id typeset -i state for i in /sys/devices/system/cpu/cpu[0-9]*; do core_id="${i##*cpu}" sibling_id="-1" if [ -f ${i}/topology/thread_siblings_list ]; then sibling_id="$(cut -d',' -f1 ${i}/topology/thread_siblings_list)" fi if [ $core_id -ne $sibling_id ]; then state="$(<${i}/online)" echo -n "$((1-state))" > "${i}/online" echo "switched ${i}/online to $((1-state))" fi done

@ WinEunuuchs2Unix, может быть, вы можете добавить это к своему отличному ответу.

0
ответ дан 24 July 2018 в 19:15

Введение

Это интересный вопрос. Наверное, один из самых интересных в месяцах для меня лично. Как и OP, нет возможности отключить Hyper Threading в моем старом BIOS (изобретен 2012, обновлено 2016 или около того).

Ошибки гипертекста в Intel Skylake и Kaby Lake:

Любой, кто использует процессоры Intel Skylake или Kaby Lake, должен прочитать отчеты об ошибках в Hyper Threading, которые появились пару месяцев назад. В этой истории в британском регистре рассказывается, как разработчики Debian заметили, как Hyper Threading может сбой и повреждение машины.

В прошлом году у Skylake появилось множество проблем, о которых сообщалось в Ask Ubuntu, и каждый задается вопросом, как определить, какие проблемы могут быть вызваны ошибками Hyper Threading.

Этот ответ разделен на три части:

Отображение процессоров, когда Hyper-Threading выключен / включен скрипт Bash для автоматизации выключения гиперпотока при включении Conny Crashes, если Hyper Threading выключен до его запуска ]

Отображение процессоров при выключении / включении Hyper-Threading

Ниже вы можете увидеть использование ЦП при отключении гиперпотока и провести стресс-тест ЦП. Примерно через 10 секунд повторяется один и тот же сценарий с включенной гиперпотокой. Наконец, через 10 секунд сценарий запускается с гиперпотоком, выключенным снова:

Дисплей разделен на две части:

Дисплей CPU, когда Hyper-Threading выключен / включен В правой половине conky отображается процентное использование CPU с CPUS 1 до 8.

Первый запуск скрипта Hyper Threading off

При первом запуске скрипта CPU Numbers 2, 4, 6 & amp; 8 (согласно Конки) заморожены на 3%, 2%, 2% и 2%. Число CPU 1, 3, 5 и 7 достигает 100%, пока выполняется стресс-тест.

Топология CPU отображается с отключением гиперпотока и сообщены только четыре ядра:

/sys/devices/system/cpu/cpu0/topology/core_id:0 /sys/devices/system/cpu/cpu2/topology/core_id:1 /sys/devices/system/cpu/cpu4/topology/core_id:2 /sys/devices/system/cpu/cpu6/topology/core_id:3

Второй скрипт запускает Hyper Threading на

Во второй раз, когда запущен скрипт, включен режим Hyper-Threading, а все номера CPU 1-8 достигают 100% при выполнении стресс-теста.

Топология ЦП отображается с включенной гиперпотокой, и сообщалось только четыре ядра плюс четыре виртуальных ядра:

/sys/devices/system/cpu/cpu0/topology/core_id:0 /sys/devices/system/cpu/cpu1/topology/core_id:0 /sys/devices/system/cpu/cpu2/topology/core_id:1 /sys/devices/system/cpu/cpu3/topology/core_id:1 /sys/devices/system/cpu/cpu4/topology/core_id:2 /sys/devices/system/cpu/cpu5/topology/core_id:2 /sys/devices/system/cpu/cpu6/topology/core_id:3 /sys/devices/system/cpu/cpu7/topology/core_id:3

Третий запуск скрипта Hyper Threading off

Обратите внимание, что после завершения второго скрипта процессоры 2, 4, 6 и 8 работают на холостом ходу на 4%, 2%, 3%, 4%. Это важно, потому что в третьем тестовом режиме выключение Hyper-Threading показывает, что проценты CPU замерзают на 4%, 2%, 3%, 4%, а не 3%, 2%, 2% и 2% от первого теста.

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

Также обратите внимание, независимо от того, включен или выключен Hyper-Threading. Скрипт все еще отображает «Hyper Threading Поддерживается ".

Сценарий Bash для автоматизации поворота гиперпотока off / on

При просмотре сценария ниже помните, что Conky выводит ЦП с 1 до 8, но Linux задает процессоры от 0 до 7.

#!/bin/bash # NAME: set-hyper-threading # PATH: /usr/local/bin # DESC: Turn Hyper threading off or on. # DATE: Aug. 5, 2017. # NOTE: Written Part of testing for Ubuntu answer: # https://askubuntu.com/questions/942728/disable-hyper-threading-in-ubuntu/942843#942843 # PARM: 1="0" turn off hyper threading, "1" turn it on. if [[ $# -ne 1 ]]; then echo 'One argument required. 0 to turn off hyper-threading or' echo '1 to turn hyper-threading back on' exit 1 fi echo $1 > /sys/devices/system/cpu/cpu1/online echo $1 > /sys/devices/system/cpu/cpu3/online echo $1 > /sys/devices/system/cpu/cpu5/online echo $1 > /sys/devices/system/cpu/cpu7/online grep "" /sys/devices/system/cpu/cpu*/topology/core_id grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \ echo "Hyper-threading is supported" grep -E 'model|stepping' /proc/cpuinfo | sort -u stress --cpu 8 --io 1 --vm 1 --vm-bytes 128M --timeout 10s

ПРИМЕЧАНИЕ. Программа stress встроена во все системы Debian, которые Ubuntu является производным от. Поэтому вам не нужно загружать и устанавливать любые пакеты для запуска этого скрипта в Ubuntu.

Если у вас есть двухъядерный процессор, вам нужно удалить (или прокомментировать #) строки, управляющие процессором номера 5 и 7.

Подтвердить для строки bash grep "" /sys/devices/system/cpu/cpu*/topology/core_id, отображающей топологию ЦП.

Conky Crashes, если Hyper Threading выключен до того, как он запустится

Чтобы получить CPU 2, 4, 6, 8 до самого низкого процента использования, я попытался отключить Hyper-Threading во время загрузки. Я использовал этот скрипт для этого:

# NAME: /etc/cron.d/turn-off-hyper-threading # DATE: Auguust 5, 1017 # DESC: This turns off CPU 1, 3, 5 & 7 # NOTE: Part of testing for Ubuntu answer: # https://askubuntu.com/questions/942728/disable-hyper-threading-in-ubuntu/942843#942843 # BUGS: Conky crashes with Segmentation Fault when CPU 2,4,6 & 8 (as conky calls them) # are off-line. # SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # # @reboot root echo 0 > /sys/devices/system/cpu/cpu1/online # @reboot root echo 0 > /sys/devices/system/cpu/cpu3/online # @reboot root echo 0 > /sys/devices/system/cpu/cpu5/online # @reboot root echo 0 > /sys/devices/system/cpu/cpu7/online

Однако conky выходит из строя с ошибкой сегментации, если гиперпоточность отключается при ее запуске. Таким образом, мне пришлось прокомментировать четыре строки @reboot в сценарии.

Код Conky для отображения коэффициента использования процентов и коэффициента загрузки процессора

Если вы заинтересованы в создании аналогичного Отображение в Conky здесь - соответствующий фрагмент кода:

${color orange}${voffset 2}${hr 1} ${color2}${voffset 5}Intel® i-7 3630QM 3.4 GHz: ${color1}@ ${color green}${freq} MHz ${color}${goto 13}CPU 1 ${goto 81}${color green}${cpu cpu1}% ${goto 131}${color3}${cpubar cpu1 18} ${color}${goto 13}CPU 2 ${goto 81}${color green}${cpu cpu2}% ${goto 131}${color3}${cpubar cpu2 18} ${color}${goto 13}CPU 3 ${goto 81}${color green}${cpu cpu3}% ${goto 131}${color3}${cpubar cpu3 18} ${color}${goto 13}CPU 4 ${goto 81}${color green}${cpu cpu4}% ${goto 131}${color3}${cpubar cpu4 18} ${color}${goto 13}CPU 5 ${goto 81}${color green}${cpu cpu5}% ${goto 131}${color3}${cpubar cpu5 18} ${color}${goto 13}CPU 6 ${goto 81}${color green}${cpu cpu6}% ${goto 131}${color3}${cpubar cpu6 18} ${color}${goto 13}CPU 7 ${goto 81}${color green}${cpu cpu7}% ${goto 131}${color3}${cpubar cpu7 18} ${color}${goto 13}CPU 8 ${goto 81}${color green}${cpu cpu8}% ${goto 131}${color3}${cpubar cpu8 18} ${color1}All CPU ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 2 temp 1}°C ${goto 250}${color1}Up: ${color green}$uptime ${color green}$running_processes ${color1}running of ${color green}$processes ${color1}loaded processes. Load Avg. 1-5-15 minutes: ${alignr}${color green}${execpi .001 (awk '{printf "%s/", $1}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $2}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $3}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${color1}NVIDIA ${color}-GPU ${color green}${nvidia gpufreq} Mhz ${color}-Memory ${color green}${nvidia memfreq} Mhz ${color1}GT650M ${color}-Temp ${color green}${nvidia temp}°C ${color}-Threshold ${color green}${nvidia threshold}°C ${color orange}${voffset 2}${hr 1}

ПРИМЕЧАНИЕ: Код Nvidia выше никогда не тестировался, потому что у меня еще нет графического процессора Nvidia под Ubuntu , Любой год скоро:)

4
ответ дан 24 July 2018 в 19:15
  • 1
    Извините, но noht не существует. Я даже согласился на опцию через источники linux-4.13-rc1, с которыми я иногда сталкиваюсь. Однако я, конечно, понимаю, что могло вас смутить: dat bugreport жалуется, что этот параметр не работает, а затем он закрыт как nextrelease, например, если они что-то исправили. Однако, если вы прочтете комментарии, вы увидите, что единственное использование noht - для скрипта ручной работы, который проверяет командную строку ядра для этого параметра, а затем отключает ядра через файловую систему /sys/. IOW noht бесполезен. – Hi-Angel 4 August 2017 в 10:34
  • 2
    @ Привет-Ангел Спасибо за указание, что это не обязательно. Я проверил без него, а автономные ядра удвоились с 2,2,5,5% (с noht) до 5,5,10,10% (без noht). Сегодня вечером я проведу больше испытаний. Я искал документацию по параметрам ядра и не нашел ссылки на noht. – WinEunuuchs2Unix 4 August 2017 в 13:43
  • 3
    На стороне примечания нет индекса машинного / человеческого языка для индексирования :) Чтобы устранить путаницу с индексами, начиная с 0, 1 или даже определенного числа (как и в MiniZinc) , лучше подумать члены индексных множеств , т. е. сюръекция от набора индексов к другому множеству. Отсчет его позволяет легко заметить, когда некоторые из них относятся к материалам данных, которые не представляют индексы, фактически могут быть использованы для индексирования после того, как они немного сбиты. Преимущество состоит в том, что он имеет в виду концепцию, не связанную с макетом памяти и другими ограничениями. – Hi-Angel 5 August 2017 в 17:37
  • 4
    @ Hi-Angel Аналогичное сравнение между "Start Position" и "Смещение" Я полагаю. В любом случае я собираюсь переписать этот ответ на основе последних двух дней тестирования и кодирования, поэтому наши комментарии скоро будут устаревшими ... – WinEunuuchs2Unix 5 August 2017 в 19:05

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

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