1

Недавно я написал некоторый Java-код для генерации изображений множества Мандельброта (фрактал). Я использовал новую возможность Fork/Join в Java 7 для одновременного запуска отдельных потоков на всех четырех ядрах (2 реальных, 2 виртуальных), используя большое количество итераций для большей точности. Проблема в том, что процесс работает нормально около минуты, а затем, как будто кто-то выдернул вилку, а компьютер просто умирает.

Я подумал, что это может быть перегрев процессоров, поэтому я запустил Real Temp для контроля температуры. Это процессор Intel i3. Я вижу, как температура ползет до 70 градусов, а затем кажется, что она выровнялась и побежала еще около 30 секунд, прежде чем умереть. По данным Real Temp, между фактической температурой и максимальной температурой ТДж все еще существует разрыв в 35 градусов. Я также попытался отключить "CPU TM function" в BIOS, но проблема все еще возникает.

Коллега предположил, что это может быть проблема с питанием, поэтому я позаимствовал более мощный блок питания (не могу вспомнить, какая это была мощность, но она выше моей, которая составляет 500 Вт). Точно то же самое все еще происходит, хотя.

Кто-нибудь может подсказать, в чем может быть проблема, или что я могу попробовать дальше?

Редактировать:

Спасибо за все ответы и комментарии. Как подсказывает @Anish A ниже, я нашел настройку в BIOS для изменения температуры, которая вызывает автоматическое отключение. Это было установлено на 70 градусов. Я увеличил это до 75 градусов, и теперь я могу счастливо запустить свою программу со всеми "четырьмя" ядрами на 100%. Real Temp сообщает, что температура в одной точке достигла 73, но в основном она держится на уровне около 70 в течение всего времени. Поэтому я полагаю, что этот параметр BIOS полностью отделен от самого процессора и максимальной температуры TJ, сообщаемой Real Temp.

2 ответа2

2

Это проблема с вашим вентилятором. Используйте лучший охлаждающий вентилятор, а также попробуйте водяное охлаждение, если это возможно.

Хороший охлаждающий вентилятор с радиатором решит проблему.

Также попробуйте включить опцию CPU Thermal Throttling в BIOS. Он будет ниже тактовой частоты процессора, если температура поднимется выше предела.

Также попробуйте увеличить температуру отключения процессора из BIOS. Но не увеличивайте его слишком сильно, так как это может поставить под угрозу срок службы вашего процессора.

0

между фактической температурой и TJ max все еще остается зазор в 35 градусов

Не обращайте внимания на указанную температуру, единственное, что важно, это "Расстояние до TJmax" - это то, что процессор сообщает (DTS), и то, что процессор использует для управления механизмами тепловой защиты.

Вот что показывает RealTemp после того, как я изменил TjMax для ядра 0 в настройках с 99 на 70.

RealTEmp дисплей

До того, как температура для ядра 0 была примерно такой же, как и для других ядер, это изменение конфигурации не повлияло на расстояние до TJ Max, так что, к моему удовлетворению, расстояние до Tjmax является значением, которое Real Temp получает от ЦП и Температура - это предположение, основанное на том, на что настроен TjMax.

Таким образом, если процессор считает, что DTS составляет 35 ° C, проблем с перегревом процессора нет.

как будто кто-то выдернул вилку, а компьютер просто умирает.

Разве это не наводит на мысль о проблеме блока питания?

Старый док Intel говорит

был представлен новый механизм тепловой защиты, позволяющий процессору автоматически контролировать температуру процессора до достижения температуры катастрофического отключения, но за счет временного снижения производительности процессора. Современные процессоры IA-32 используют внутреннюю схему, чтобы периодически останавливать внутренние часы для большей части процессора. Все прерывания в течение модулированного периода задерживаются, но не теряются. Счетчик меток времени процессора продолжает поддерживать счет даже во время модуляции процессора. Продолжительность модуляции обычно составляет 1 мсек. В конце каждого интервала процессор снова будет работать на полной частоте. Если температура все еще выше второго заданного уровня температуры, процессор снова будет модулировать внутренние часы. Если температура упадет ниже второго заданного уровня, процессор продолжит работать на своей нормальной тактовой частоте. Эффективная производительность процессора составляет примерно 50% от полной производительности. Обратите внимание, что метод модуляции производительности процессора не определен архитектурно и может быть изменен в будущих процессорах.

В документе Intel i5/i7 написано

PROCHOT # активируется, когда датчик (и) мониторинга температуры процессора обнаруживает, что процессор достиг своей максимальной безопасной рабочей температуры. Это указывает на то, что схема управления температурой процессора была активирована, если она включена. Этот сигнал также может быть передан в процессор для активации схемы терморегулирования. Этот сигнал не имеет встроенного завершения и должен быть завершен на системной плате.

Таким образом, в ядре i5/i7 TCC по-прежнему работает (как мне кажется, от DTS) так же, как и в старых процессорах Intel.

Я полагаю, "если включено" означает, что TCC может быть отключен настройками BIOS (или других). Вы можете проверить настройки BIOS для терморегуляции процессора.

Тепловое отключение: процессор защищает себя от катастрофического перегрева с помощью внутреннего термодатчика. Этот датчик установлен значительно выше нормальной рабочей температуры, чтобы избежать ложных срабатываний. Процессор прекратит все выполнение, когда температура перехода превысит приблизительно 125 ° C. Это сигнализируется системе с помощью контакта THERMTRIP #.

Я полагаю, что производитель mobo мог бы использовать сигнал CPU #PROCHOT для полного отключения системы, но это было бы преждевременно. Таким образом, я ожидаю, что симптомы постепенного перегрева ЦП будут первыми, что ЦП снизится до такой степени, что это должно быть заметно.

В целом, то, что вы сообщаете, не согласуется с тем, что я ожидаю от термического отключения процессора. Во-первых, DTS> 0, во-вторых, не наблюдается заметного снижения производительности процессора. Наконец, «как будто кто-то выдернул вилку» (если вы имеете в виду, как будто кто-то буквально вытащил вилку из розетки).


HWmonitor от CPUID показывает больше информации, чем RealTemp, включая температуру GPU и HDD - может быть полезно

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .