Анимированное изображение в формате GIF на x86 занимает 360 МБ ОЗУ, на Apple Silicon — почему-то 35.51 ГБ со свопом

tqhmatan7evjyn2zctfq1nzt2pe.jpeg

20 мая разработчик Гас Мюллер (Gus Mueller) рассказал, что анимированное изображение в формате GIF из 730 кадров на x86 Mac занимает 360 МБ ОЗУ, а на Apple Silicon — почему-то 35.51 ГБ со свопом. Это происходит при открытия файла в графическом редакторе Acorn для macOS.
Мюллер пояснил, что, судя по его детальному изучению проблемы, большую часть памяти в данном случае (около 35 ГБ) утилизируется фреймворком IOAccelerator, причем он свопит до 25,3 ГБ для выполнения этой задачи. На Mac на Intel в этом же случае используется только 1480 КБ на IOAccelerator.

34ehblszeicxnsgxtyo-rfdd6f4.jpegПример подсчета памяти в Activity Monitor для Mac при открытии файла GIF на Apple M1.

-9hm53zobw9mzuorqjnn2cruqpo.jpegСистема даже уведомляет, что заканчивается память для работы приложения.

Другие пользователи также подтвердили данную ситуацию с вероятной утечкой памяти в Apple M1 при обработке файлов формате GIF.

Причем, даже если оставить в файле формата GIF всего 1 кадр, то система macOS 11.2.1 на MacBook Air M1 все равно утилизирует 1 ГБ памяти для его обработки.

Пример анимированного изображения, которое утилизирует на ПК на базе Apple M1 много памяти (730 кадров, размер 400×240 пикселей, 32 бита глубина цвета — нужно не менее 280 МБ).
image

Мюллер предположил, что дело в штатной утилите Activity Monitor (эквивалент диспетчера задач). Он протестировал другие утилиты, которые показывают утилизацию памяти запущенных приложений и обнаружил, что все они также отображают около 40 ГБ для открытия одного GIF. Также Мюллер заметил, что при открытии GIF происходит сильная загрузка процесса kernel_task.

В итоге Мюллер отправил запрос в Apple по этой проблеме. Там ему присвоили номер FB9112835 и пообещали разобраться с таким расходом памяти.

Ранее в феврале владельцы Mac с M1 жаловались на быстрый износ новых SSD (расход ресурса SSD со скоростью записи 180Гб/час). На Хабре даже был опубликован вариант решения этой проблемы.

© Habrahabr.ru