Возможны ли утечки памяти в современных ОС?

335
DarkDestry

Возможны ли утечки памяти в Modern OS при выходе из приложения? Насколько я понимаю, современная ОС управляет памятью довольно хорошо и очищает память после выхода из приложения. Это означает, что всякий раз, когда происходит утечка памяти, я могу просто выйти из приложения-нарушителя, чтобы устранить проблему. Это правда?

Точно так же возможны утечки памяти на GPU? Я предполагаю, что, поскольку ОС управляет только памятью процессора, графические процессоры гораздо более подвержены утечкам памяти при сбоях. Существует ли аналогичный механизм в драйверах, который отслеживает, к какому приложению относится память на GPU? Или единственное решение для утечки памяти GPU - полный перезапуск?

Изменить: Примечание: я спрашиваю, когда приложение выходит. Я знаю, что утечки памяти возможны для любого языка во время выполнения приложения. Что я спрашиваю, так это то, что происходит, когда приложение выходит, ожидаемо или неожиданно из-за исключения, как для памяти процессора, так и для графического процессора.

0
Утечки памяти зависят от доступа / использования вашего ОЗУ приложением. Они обычно происходят, когда программа не оптимизирована для повторного использования памяти, которая была выделена или будет перераспределена. Проще говоря: некоторые программы не сбрасывают лишний кеш, и поэтому программа потребляет все больше и больше памяти, вызывая утечки памяти. t a b designworks 7 лет назад 0
Хотя общий ответ был бы положительным, я чувствую, что этот вопрос в основном основан на мнении. LPChip 7 лет назад 0
Обратите внимание, что утечка памяти перестает существовать при выходе из программы. Утечки памяти являются внутренними для приложения и происходят только во время работы программы. после выхода вся память, используемая приложением, освобождается, даже если приложение плохо управляло этой памятью. Утечки памяти - это очень специфическое явление, испытываемое приложениями, которые используют структуру кучи для хранения данных в абстрактных типах данных. это не относится к более общим потерям доступной памяти или даже к приложениям, которые используют много памяти или увеличивают их потребление с течением времени. Frank Thomas 7 лет назад 2
@FrankThomas Спасибо за ответ. Это было то, что я искал. Можете ли вы расширить логику памяти GPU? относится ли это к памяти графического процессора? DarkDestry 7 лет назад 0

1 ответ на вопрос

0
WayneB

Да, они все еще возможны. Они происходят, когда программист выделяет память и не освобождает эту память, когда они закончили с ней.

Я знаю, что все еще возможно во время выполнения программы. Я знаю, что это возможно даже с языками высокого уровня. Вопрос в том, когда приложение выйдет. DarkDestry 7 лет назад 0

Похожие вопросы