공유 서버에서 CPU 온도를 읽는 방법은 무엇입니까?

공유 서버에서 CPU 온도를 읽는 방법은 무엇입니까?

PHP를 사용하여 CPU 온도를 읽고 싶지만 정보를 찾을 수 없습니다. 아래의 모든 경로는 /proc/acpi/thermal_zone비어 있는 것으로 나타납니다. 나는 시도했다:

  • /proc/acpi/Thermal_zone/THM0/온도
  • /proc/acpi/Thermal_zone/THRM/온도
  • /proc/acpi/Thermal_zone/THR1/온도

이들 중 어느 것도 존재하지 않는 것 같습니다. CPU 온도 모니터의 올바른 경로는 무엇입니까?

phpinfo()설명하다:

PHP Version 5.4.12
Linux infong 2.4 #1 SMP Thu Feb 14 13:02:49 CET 2013 i686 GNU/Linux
Safe mode is off
Apache

답변1

코어당 핫존 온도는 /sys/class/thermal/thermal_zone?/temp커널 버전 > 3.x에서 사용할 수 있습니다.

mt_rand()시딩을 위해 CPU 온도를 사용하려는 것은 의미가 없습니다. ~에 따르면mt_rand() 문서, PHP 버전 4.2.0+에서는 PRNG 시드가 자동으로 수행됩니다. 수동 시딩을 사용하려는 경우에도mt_srand(), CPU 온도를 사용하여 이를 수행하는 것은 매우 나쁜 생각입니다. 대부분의 CPU는 상당히 일정한 작동 온도(예: 46⁰C)를 ​​유지하는 반면, 최신 Intel "i" 프로세서(i3, i5, i7)에서는 코어가 필요하지 않을 때 간단히 종료되므로 온도가 0입니다. PRNG의 시드로 상수 값을 사용하는 것보다 기본값(시드 값을 지정하지 않고)으로 두는 것이 훨씬 낫습니다.

또한 암호화된 값을 생성해야 하는 경우 mt_rand()설명서의 경고를 읽어보세요. 암호화된 보안 난수는 생성되지 않습니다.

관련 정보