Почему мой ЦП игнорирует максимальную частоту, установленную, например,. cpupower и как я могу предотвратить перегрев процессора?

Вы должны использовать файл .env, в котором вы поместите свои глобальные окружения для чтения с помощью компоновки.

См.:https://docs.docker.com/compose/environment-variables/#the-env-fileдля получения дополнительной информации об использовании файла.

Другим возможным решением может быть template.ymlфайл, вызываемый с помощью docker-compose, например.:

  • Создайте template.yml, который является вашим docker-compose.ymlс переменной окружения.
  • Предположим, что ваши переменные окружения находятся в файле ' env.sh'
  • Поместите приведенный ниже фрагмент кода в файл sh и запустите его.
source env.sh; rm -rf docker-compose.yml; envsubst < "template.yml" > "docker-compose.yml";

Будет создан новый файл docker-compose.ymlс правильными значениями переменных среды.

Пример файла template.yml:

SampleContainer:
        image: myImage:latest
        container_name: sample
        depends_on:
            - mysql-server
        restart: always
        volumes:
            - /opt/docker/myapplication/bootstrap.properties:/opt/myserver/${SERVER_NAME}/bootstrap.properties

Образец env.shфайла:

#!/bin/bash 
export SERVER_NAME=jingool

Другие варианты включают:

docker-composeВ версии 1.5+ включена подстановка переменных:https://github.com/docker/compose/releases

Последняя версия Docker Compose позволяет получить доступ к переменным среды из файла компоновки. Таким образом, вы можете получить свои переменные среды, а затем запустить Compose следующим образом:

set -a
source.my-env
docker-compose up -d

Затем вы можете ссылаться на переменные в docker-compose.ymlс помощью ${VARIABLE}, например:

/opt/docker/myapplication/bootstrap.properties:/opt/myserver/${SERVER_NAME}/bootstrap.properties

А вот еще информация из документации, взятой здесь:https://docs.docker.com/compose/compose-file/#variable-substitution

Способ BASH:

Вот более гибкий метод с использованием скрипта bash и файла .env.

Пример .envфайла:

EXAMPLE_URL=http://example.com
# Note that the variable below is commented out and will not be used:
# EXAMPLE_URL=http://example2.com 
SECRET_KEY=ABDFWEDFSADFWWEFSFSDFM

# You can even define the compose file in an env variable like so:
COMPOSE_CONFIG=my-compose-file.yml
# You can define other compose files, and just comment them out
# when not needed:
# COMPOSE_CONFIG=another-compose-file.yml

затем запустите этот скрипт bash в том же каталоге,который должен правильно развернуть все:

#!/bin/bash
docker rm -f `docker ps -aq -f name=myproject_*`
set -a
source.env
cat ${COMPOSE_CONFIG} | envsubst | docker-compose -f - -p "myproject" up -d

Тут тоже интересно почитать:https://modulitos.com/2016/03/lets-deploy-part-1/

1
27.05.2021, 10:40
1 ответ

Благодаря Артему Сергеевичу Ташкинову мне удалось решить проблему. Он написал в комментарии

Try using acpi-cpufreq intead of intel_pstate : https://silvae86.github.io/2020/06/13/switching-to-acpi-power

И это помогло.

Пришлось установить драйвер acpi_cpufreq(в моем случае он уже был установлен )черезapt-get

apt-get install acpi-support acpid acpi

и отредактируйте /etc/default/grub, добавив intel_pstate=disableк GRUB_CMDLINE_LINUX_DEFAULT, например (в моем случае):

GRUB_CMDLINE_LINUX_DEFAULT="quiet nosplash debug intel_pstate=disable"

Затем запустите update-grubи перезапустите машину. Следовательно, драйвер intel_pstateбольше не используется, а вместо него используется acpi_cpufreq. Помимо того, что у меня есть еще много регуляторов на выбор из (, вы можете прочитать здесь о них ), и, самое главное, теперь я могу включить регулятор ondemandи установить минимальную и максимальную частоту. И так хранится. В моем случае я использовал

cpupower frequency-set -g ondemand -d 1.2GHz -u 2.0GHz

и до сих пор машина не сильно грелась.

[править] После того, как все еще испытывал проблемы с температурой, я понял, в чем проблема. Это частота графического процессора и тот факт, что эта проблема все еще возникает при использовании 3D-приложений. В /sys/kernel/debug/dri/0/i915_ring_freq_tableвы можете увидеть максимальную частоту, на которой может работать графический процессор, соответствующую максимальной частоте процессора. После установки частоты ЦП необходимо настроить частоту ГП в /sys/class/drm/card0/gt_max_freq_mhzи /sys/class/drm/card0/gt_boost_freq_mhz.

1
28.07.2021, 11:30

Теги

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