20 мая разработчик Гас Мюллер (Gus Mueller) рассказал, что анимированное изображение в формате GIF из 730 кадров на x86 Mac занимает 360 МБ ОЗУ, а на Apple Silicon — почему-то 35.51 ГБ со свопом. Это происходит при открытия файла в графическом редакторе Acorn для macOS.
Мюллер пояснил, что, судя по его детальному изучению проблемы, большую часть памяти в данном случае (около 35 ГБ) утилизируется фреймворком IOAccelerator, причем он свопит до 25,3 ГБ для выполнения этой задачи. На Mac на Intel в этом же случае используется только 1480 КБ на IOAccelerator.
Пример подсчета памяти в Activity Monitor для Mac при открытии файла GIF на Apple M1.
Система даже уведомляет, что заканчивается память для работы приложения.
Другие пользователи также подтвердили данную ситуацию с вероятной утечкой памяти в Apple M1 при обработке файлов в формате GIF.
Причем, даже если оставить в файле формата GIF всего 1 кадр, то система macOS 11.2.1 на MacBook Air M1 все равно утилизирует 1 ГБ памяти для его обработки.
Пример анимированного изображения, которое утилизирует на ПК на базе Apple M1 много памяти (730 кадров, размер 400x240 пикселей, 32 бита глубина цвета - нужно не менее 280 МБ).
Мюллер предположил, что дело в штатной утилите Activity Monitor (эквивалент диспетчера задач). Он протестировал другие утилиты, которые показывают утилизацию памяти запущенных приложений и обнаружил, что все они также отображают около 40 ГБ для открытия одного GIF. Также Мюллер заметил, что при открытии GIF происходит сильная загрузка процесса kernel_task.
В итоге Мюллер отправил запрос в Apple по этой проблеме. Там ему присвоили номер FB9112835 и пообещали разобраться с таким расходом памяти.
Ранее в феврале владельцы Mac с M1 жаловались на быстрый износ новых SSD (расход ресурса SSD со скоростью записи 180Гб/час). На Хабре даже был опубликован вариант решения этой проблемы.