과냉각된 컴퓨터에서 프로그램을 컴파일하려고 합니다.
특히 이 프로그램은 linux-ck
프로세서별 최적화 기능을 갖춘 커널 이므로 -mtune=native march=native
단순히 다른 시스템에서 실행하면 목적이 무용지물이 됩니다.
현재 냉각 문제를 해결하기 위해 노력하고 있습니다.노트:컴퓨터에 물리적으로 접근할 수 없으므로 문제 해결을 도와주려고 하지 마십시오.
^Z
대신 CPU가 특정 온도(측정된 온도)를 초과하면 프로그램(셸 작업 제어 "스타일")을 일시 중지 sensors
하고 측정된 온도가 안전한 수준으로 돌아온 후 프로그램을 다시 시작하는 방법이 필요합니다.
노트:이 컴퓨터는 이전에 91°C에 도달했습니다.
컴퓨터는 Arch Linux를 실행하며 완전히 업데이트되었습니다.
답변1
해결책은 기본 작업의 PID를 변수에 할당하고 다음과 같은 스크립트를 작성하는 것입니다.
약 10초마다 온도를 확인하세요. 그것은 마치
temp=($(sensors | awk -F'[+.]' '{print $2}'))
내 상자에 두 가지 온도(acpitz 및 coretemp)가 있는 테이블을 만듭니다.
temp
의 출력을 기반으로 조정해야 할 수도 있습니다sensors
.temp > $TEMPMAX인 경우
kill -TSTP PID
작업으로 전송(CTRL-Z, 일명 일시중단)(( $temp[1] > 80 || $temp[2] > 80 )) && kill -TSTP $JOBPID
temp < $TEMPRUN이
kill -CONT PID
작업으로 전송된 경우(bg 명령과 동일)(( $temp[1] < 40 && $temp[2] < 40 )) && kill -CONT $JOBPID
스크립트가 자주 실행되므로 명령 대신 소스에서 임시 값을 가져와 sensors
속도를 약간 향상시키는 것이 좋습니다. 가능한 컴퓨터에서는 다음과 같이 작동합니다.
temp=($(cut -c 1-2 /sys/class/hwmon/hwmon0/temp1_input) $(cut -c 1-2 /sys/class/hwmon/hwmon1/device/temp2_input))
하지만 다시 말하지만 필요에 맞게 조정해야 할 수도 있습니다.