Что означают "грязный" и "резидент" по отношению к виртуальной памяти?

Я бросил программу CS в моем университете... Итак, может кто-то, кто имеет полное представление о информатике, пожалуйста, скажите мне: в чем смысл Dirty и Resident, что касается виртуальной памяти? и, для бонусных очков, что такое виртуальная память? Я использую инструмент распределения / VM Tracker в Инструментах для анализа приложения iOS.

*подсказка - попробуйте объяснить, как если бы вы разговаривали с 8-летним ребенком или полным идиот. Спасибо, ребята.

2 ответов


"грязная память" - это память, которая была каким-то образом изменена-это память, на которую должен смотреть сборщик мусора, а затем решить, что с ней делать. В зависимости от того, как вы строите структуры данных, сборщик мусора может пометить много памяти как грязную, так как каждый цикл сбора мусора занимает больше времени, чем требуется. Сохранение этого числа низким означает, что ваша программа будет работать быстрее и с меньшей вероятностью будет испытывать заметные паузы сбора мусора. Для большинства люди, это на самом деле не проблема.

"резидентная память" - это память, которая в настоящее время загружается в оперативную память, которая фактически используется. Хотя приложению может потребоваться отслеживать в памяти множество различных элементов, в любой момент времени может потребоваться доступ только к небольшому подмножеству. Сохранение этого числа низким означает, что ваше приложение имеет более низкие времена загрузки, хорошо играет с другими, и уменьшает риск вы будете работать из памяти и аварии, как приложение работает. Вероятно, это номер, на который вы должны обращать внимание большую часть времени.

"Виртуальная память" - это общий объем данных, который ваше приложение отслеживает в любой момент времени. Это число отличается от того, что активно используется (то, что используется, помечено как "резидентная память") - система будет хранить данные, которые отслеживаются, но не используются вашим приложением где-то, кроме фактической памяти. Он может, например, сохранить его на диск.


WWDC 2013 - 410 исправление проблем с памятью объясняет это красиво. Стоит посмотреть, так как это также объясняет некоторые практические последствия грязной, резидентной и виртуальной памяти.