Ubuntu 18.04 - скрипт для выключения компьютера в случае

При поддержке здесь или на других форумах мне удалось запустить мультипроцессор nVidia Render Farm для сетевых вычислений в Octane Render Slave Daemon.

Сейчас я пытаюсь найти способ - автономный скрипт или вложенный в настройку Conky, который позволит выключать компьютер при определенном событии?

Мне нужно более точно:
При мониторинге nvidia-settings = использование графического процессора будет менее 10%, например, в течение 300 секунд, затем выключите компьютер.

Пока у меня есть этот скрипт от другого пользователя, чтобы выключить мой компьютер. Но мне нужно продлить его на другое условие тайм-аута, чтобы избежать выключения ПК, как только значение упадет ниже 10%. Поскольку в расчете есть некоторые изменения нагрузки (например, от одного кадра анимации к следующему).

#!/bin/bash
GPU=$(execi 60 nvidia-settings -query [gpu:0]/GPUCoreTemp -t)
if [[ ${GPU} -le 10 ]]; then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:false
fi
0
задан 1 July 2019 в 15:45

1 ответ

Добрый день, Я, наконец, придумал решение и забыл перечислить его здесь для других пользователей. 1) функция nvidia-smi utilization.gpu не поддерживается для GPU 780 Ti, необходимо было изменить скрипт, запрашивая значение fan.speed 2) при обновлении до более высокого диапазона графических процессоров поддерживаются все функции nvidia-smi, включая utilization.gpu

Over fan.speed - серия графических процессоров nVidia ниже 8

    #!/bin/bash
echo $(date +"%T") >> $HOME/Octane/GPU-off.log
echo "1) FIRST VERIFICATION"
GPU1=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
echo $GPU1
if [[ ${GPU1} -le 40 ]]; then
    sleep 15m
    echo $(date +"%T") >> $HOME/Octane/GPU-off.log
    echo "2) SECOND VERIFICATION"
    GPU2=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
    echo $GPU2
    if [[ ${GPU2} -le 40 ]]; then
        sleep 15m
        echo $(date +"%T") >> $HOME/Octane/GPU-off.log
        echo "3) SHUTDOWN"
        GPU3=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
        echo $GPU3
        if [[ ${GPU3} -le 40 ]]; then
            echo $(date +"%T") >> $HOME/Octane/GPU-off.log
            sudo poweroff
        fi
    fi
fi

Over utiluzation.gpu

#!/bin/bash
echo $(date +"%T") >> $HOME/Octane/GPU-off.log
echo "1) FIRST VERIFICATION"
GPU1=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=utilization.gpu)
echo $GPU1
if [[ ${GPU1} -le 10 ]]; then
    sleep 15m
    echo $(date +"%T") >> $HOME/Octane/GPU-off.log
    echo "2) SECOND VERIFICATION"
    GPU2=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=utilization.gpu)
    echo $GPU2
    if [[ ${GPU2} -le 10 ]]; then
        sleep 15m
        echo $(date +"%T") >> $HOME/Octane/GPU-off.log
        echo "3) SHUTDOWN"
        GPU3=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=utilization.gpu)
        echo $GPU3
        if [[ ${GPU3} -le 10 ]]; then
            echo $(date +"%T") >> $HOME/Octane/GPU-off.log
            sudo poweroff
        fi
    fi
fi
1
ответ дан 23 April 2020 в 07:58

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

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