nixp.ru v3.0

27 мая 2017,
суббота,
09:22:51 MSK

DevOps с компанией «Флант»
anonymous написал 24 июля 2004 года в 22:09 (311 просмотр) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

У меня переодически происходит зависание программы при вызове new или malloc, из-за чего это может быть? У меня подозрение, что не хватает места в куче. Как бороться с такой проблемой?

Скорее, битая память. Можно попробовать поставить всякие malloc библиотеки, типа ElectricFence или сделать банальный memtest86.

myst

Если не хватает места в куче, то malloc (new) возвращает NULL.

fatboy

Что есть Битая память?

Genie

«Битая», или же «сбойная» память — это содержащая то работающие, то не работающие участки память.

Т.е. представим, что есть у нас ячейка памяти, которая с вретояностью 100% при температуре < 27С записывает значения 0 и 1 правильно.

При температуре < 31С запись 0 — 100%, а 1 — 97%.

Ну а при бОльшей 35С температуре — уже < 95% и для 0, и для 1.

Вот это и есть «сбойная» память.