Разработчик: у Finder в macOS нет утечки памяти, её заполняет миниатюрами

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В течение последнего месяца наблюдались большие утечки памяти в Finder, особенно в представлениях «Значки» и «Галерея». Разработчик Macs Technology выяснил, что это происходит не из-за утечки, а кэширования миниатюр элементов, выбранных в представлении галереи. 

eclecticlight.co
eclecticlight.co

В некоторых окнах Finder, особенно в представлениях «Галерея» и «Значки», элементы могут отображаться в виде больших значков; в случае файлов изображений и фильмов это обычно миниатюры, созданные QuickLook на основе содержимого файла. Создание таких миниатюр — относительно дорогостоящий процесс, поэтому QuickLook хранит их в кэше. Даже в этом случае при прокрутке содержимого папок, содержащих множество таких пользовательских значков и миниатюр, извлечение их всех из кэшированных файлов может быть медленнее, чем скорость прокрутки.

Чтобы повысить производительность, Finder сохраняет копии этих изображений в памяти. Кэшированные миниатюры могут храниться до 2–3 дней перед очисткой.

Если представления «Галерея» или «Значки» используются редко, то это мало влияет на память, используемую Finder. Однако при частых просмотрах больших папок инструмент может кэшировать несколько ГБ изображений. По опыту разработчика с использованием режима «Галерея», объём памяти может достигать 1,5 ГБ на каждые 100 файлов картинок.

Он протестировал на iMac Pro с 32 ГБ ОЗУ и macOS 14.2 папку, содержащую около 100 фотографий, в основном в формате JPEG, выбирая различные их комбинации в представлении «Галерея». За несколько минут использование памяти Finder выросло с примерно 250 МБ до чуть более 1,8 ГБ. Дальнейший выбор в этом представлении «Галерея» не оказал дальнейшего влияния на используемую память.

Следующие два дня ПК использовался как обычно, без возврата в эту папку или повторного просмотра галереи, но он не переводился в спящий режим, а также не выключался или перезагружался. Периодически разработчик проверял использование памяти Finder с помощью Activity Monitor. Результаты показаны на диаграмме ниже. 

eclecticlight.co
eclecticlight.co

Период, в течение которого использование памяти в представлении «Галерея» увеличилось, отмечен жёлтым цветом, а линия показывает использование этой памяти в Finder. В последующие дни объём использования памяти неуклонно рос, достигнув пика чуть более 2 ГБ к утру 18 декабря. Затем, спустя чуть более двух дней с тех пор, как разработчик в последний раз использовал представление «Галерея», Finder удалил кэшированные миниатюры из этого сеанса. 

Собственная документация Apple для разработчиков по управлению памятью начинается словами: «Эффективное управление памятью — важный аспект написания высокопроизводительного кода как в OS X, так и в iOS. Минимизация этого использования не только уменьшает объём памяти вашего приложения, но также может уменьшить количество потребляемого процессорного времени».

Однако для компьютеров Mac, где базовая память составляет 8 ГБ, потребление всего одним приложением более 1 ГБ становится ощутимым. При этом стоимость дополнительных 8 ГБ в настоящее время составляет около $200. В этих последних компьютерах Mac память совместно используется процессором, графическим процессором и другими элементами. 

Выходом  могло бы стать расширение настроек Finder, чтобы пользователь мог сам выбирать максимальный размер миниатюр и связанных с ними кэшей. 

Источник: https://habr.com/ru/news/782446/


Интересные статьи

Интересные статьи

Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Зна...
Пришло время обсудить ИБ-инциденты, которые случились в феврале. Традиционно в дайджесте собрали всё самое впечатляющее – тут и новые сценарии для мошенничества, и утекшие миллионы у очередного ритейл...
Привет! Традиционно собрали «классические» и нетривиальные ИБ-инциденты минувшего месяца – и здесь «призрачно все». В апреле СМИ писали про утечки, которых не было, атаки...
Продолжаю перевод отчёта проекта Asahi Linux. На этот раз речь пойдёт о загрузчике m1n1 и отладке Mac m1. Читать далее
TL;DR Встроенные средства macOS позволяют выполнить некоторые атаки на Wi-Fi-сети. В статье описывается, как с помощью встроенного в Macbook Wi-Fi адаптера AirPort и macOS похекать Wi-Fi. ...