Bash 명령 프롬프트에 포함 된 CPU 온도


18

CPU 온도를 얻어 명령 프롬프트에 포함시킬 수 있는지 궁금합니다.

이것은 내 출력입니다 sensors:

$}-sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +55.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:         +55.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:         +52.0°C  (high = +87.0°C, crit = +105.0°C)

grep기능을 사용 하여 온도를 명령 프롬프트에 포함시키는 방법을 알려주 시겠습니까?



qucik : 내 온도가 50 ° C 일 때, 50000을 보여줍니다 나를 위해 고양이 / SYS / 클래스 / 열 / thermal_zone0 / 온도,
mondjunge가

@mondjunge 해당 파일은 하드웨어에 매우 의존적입니다. 사용중인 하드웨어에 따라 이름과 경로가 모두 변경됩니다. 내 시스템에서이 파일은 acpitz-virtual-0가상 장치 의 온도를 보여 주며 이는 CPU의 온도와 매우 다릅니다.
terdon

내 대답과 동일한 코드를 사용할 수 있습니다. 또한 sensors출력에 대해서도 작동합니다 .
terdon

@ terdon : 알고 있지만 설명 할 시간이 없습니다. 무료 5 분 동안 중복 된 질문을 표시하고 빠른 해결책을 암시하려고합니다.
mondjunge

답변:


36

예, 가능하지만 세부 사항은 시스템에 따라 다릅니다. 대부분의 경우 명령 sensors이 표시해야합니다.

  1. 필요한 패키지를 설치하십시오

    sudo apt-get install lm-sensors
  2. sensors-detect프롬프트를 실행 하고 따르십시오

    sudo sensors-detect
  3. sensors-detect지시에 따라 추가 드라이버를 설치하십시오 .

  4. sensors작동하는지 확인하기 위해 실행

    $ sensors
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:        +27.8°C  (crit = +110.0°C)
    temp2:        +29.8°C  (crit = +110.0°C)
    
    coretemp-isa-0000
    Adapter: ISA adapter
    Physical id 0:  +63.0°C  (high = +105.0°C, crit = +105.0°C)
    Core 0:         +62.0°C  (high = +105.0°C, crit = +105.0°C)
    Core 1:         +63.0°C  (high = +105.0°C, crit = +105.0°C)
    
    nct6776-isa-0a00
    Adapter: ISA adapter
    Vcore:                  +1.86 V  (min =  +0.00 V, max =  +1.74 V)  ALARM
    in1:                    +1.36 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
    AVCC:                   +3.33 V  (min =  +2.98 V, max =  +3.63 V)
    +3.3V:                  +3.33 V  (min =  +2.98 V, max =  +3.63 V)
    in4:                    +1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
    in5:                    +0.00 V  (min =  +0.00 V, max =  +0.00 V)
    in6:                    +0.21 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
    3VSB:                   +3.31 V  (min =  +2.98 V, max =  +3.63 V)
    Vbat:                   +3.18 V  (min =  +2.70 V, max =  +3.63 V)
    fan1:                     0 RPM  (min =    0 RPM)
    fan2:                  3292 RPM  (min =    0 RPM)
    SYSTIN:                  +0.0°C  (high =  +0.0°C, hyst =  +0.0°C)  sensor = thermistor
    CPUTIN:                 +51.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = CPU diode
    AUXTIN:                  +0.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = CPU diode
    PCH_CHIP_CPU_MAX_TEMP:  +58.0°C  (high = +80.0°C, hyst = +75.0°C)
    PECI Agent 0:           +60.0°C  (high = +80.0°C, hyst = +75.0°C)
                                     (crit = +105.0°C)
    PCH_CHIP_TEMP:           +0.0°C  
    PCH_CPU_TEMP:            +0.0°C  
    intrusion0:            OK
    intrusion1:            OK
    beep_enable:           disabled
  5. CPU 온도 만 얻기 위해 출력을 구문 분석하십시오.

    위에서 볼 수 있듯이 내 시스템의 출력은 사용자의 출력과 다릅니다. 그러나 여기서 우리가 관심을 갖는 라인은 동일합니다. 다음과 같이 CPU 온도를 얻을 수 있습니다.

    $ sensors | grep -oP 'Physical.*?\+\K[0-9.]+'
    63.0
  6. ~/.bashrc(또는 다른 쉘을 사용하는 경우 동등한 파일)을 편집 하고 위 명령을 실행하는 함수를 추가하십시오.

    show_temp(){
        sensors | grep -oP 'Physical.*?\+\K[0-9.]+'
    }
  7. 프롬프트에서 기능을 사용하십시오. 예를 들면 다음과 같습니다.

    PS1="\u@\h $(show_temp) $ "

우분투에 lm- 센서를 설치해야합니까? 데비안에서 기본적으로 설치됩니다.
Braiam 2016 년

1
@Braiam 기본적으로 15.10 또는 16.04에 설치되지 않습니다.
고양이

1

lm- 센서 설치 :

sudo apt-get install lm-sensors

사용 가능한 센서를 감지하십시오.

sudo sensors-detect

온도를 표시하려면

sensors

5
질문을 이해함에 따라 OP는 CPU 온도가 Bash 프롬프트에 나타나기를 원합니다. username@hostname (cputemp): /current/directory $이들은 sensors일반적으로 명령 을 실행하는 방법을 이미 알고 있습니다. 그렇지 않으면 질문에 출력을 어떻게 표시 할 수 있었습니까?
바이트 사령관

3
Bram의 방어에서 @ByteCommander, OP는 sensors원래 질문에 언급하지 않았고 대답의 첫 번째 개정에서 요청한 후에 만 ​​출력을 추가했습니다. 물론,이 답변은 CPU temp 만 표시하는 방법이나 프롬프트에 포함시키는 방법을 설명하지는 않지만 sensors답변이 게시 될 때 유용한 정보를 언급 했습니다.
terdon

AMD 시스템에서 CPU 온도를 얻기 전에 BIOS에서 "IOMMU"를 켜야했습니다 (FX8300이있는 MSI 마더 보드 : 오버 클로킹 설정-> CPU 기능-> IOMMU 다른 옵션)).
Peter Mortensen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.