최근에 Mandelbrot 세트 (프랙탈) 세트의 이미지를 생성하는 Java 코드를 작성했습니다. 필자는 Java 7의 새로운 Fork / Join 기능을 사용하여 네 개의 코어 (2 개의 실제, 2 개의 가상)에서 개별 스레드를 동시에 실행하고 많은 수의 반복을 사용하여 정확도를 향상 시켰습니다. 문제는 약 1 분 동안 프로세스가 정상적으로 작동하고 누군가가 플러그를 뽑아 PC가 죽는 것처럼 보입니다.
CPU가 과열되어야한다고 생각해서 Real Temp를 실행하여 온도를 모니터링했습니다. 인텔 i3 프로세서입니다. 기온이 70도까지 올라가는 것을 볼 수 있습니다. 그리고 나서 저기에 수평을 유지하고 죽기 전에 약 30 초 동안 달리는 것처럼 보입니다. Real Temp에 따르면 실제 온도와 TJ max 사이에는 여전히 35 도의 차이가 있습니다. 또한 BIOS에서 "CPU TM function"을 비활성화하려고했지만 문제가 여전히 발생합니다.
동료는 전원 공급 장치 문제 일 수 있다고 제안 했으므로 더 강력한 PSU를 빌 렸습니다 (와트가 무엇인지 기억하지 못하지만 500W 인 것보다 높습니다). 그러나 똑같은 일은 여전히 발생합니다.
누구든지 문제가 무엇인지, 또는 다음에 시도 할 수있는 것을 제안 할 수 있습니까?
편집하다:
모든 anwers 및 의견 주셔서 감사합니다. @Anish A는 아래에서 제안했듯이 BIOS에서 자동 종료를 트리거하는 온도를 변경하는 설정을 발견했습니다. 이것은 70 도로 설정되었습니다. 저는 이것을 75도까지 증가 시켰습니다. 이제는 모든 4 개의 코어를 100 %로 행복하게 실행할 수 있습니다. Real Temp는 온도가 한 지점에서 73만큼 높음을보고하지만 대개의 경우 온도가 약 70 정도입니다. 그래서이 BIOS 설정은 프로세서 자체와 Real Temp가보고 한 TJ 최대 온도와 완전히 별개입니다.