Saltar al contenido

Розуміння стиснутої пам’яті на Mac

12 de junio de 2021

Якщо ви помітили, що ваш Mac, здається, трохи покращився у своїй продуктивності, оскільки ви встановили OS X Mavericks, можливо, це пов’язано з досягненнями в галузі управління пам’яттю та поверненням стиснення пам’яті. Інформація в цій статті стосується комп’ютерів Mac, на яких запущено macOS Catalina (10.15) через OS X Mavericks (10.9).

Змістовий покажчик

Зміни до способу управління Mac пам’яттю

З виходом OS X Mavericks Apple змінила спосіб керування пам’яттю Mac. Завдяки додаванню стиснення пам’яті, ваш Mac тепер може робити більше, зменшуючи пам’ять, зберігаючи або підвищуючи продуктивність. У старих версіях OS X використання пам’яті було побудовано навколо стандартної системи управління пам’яттю. Додатки вимагали виділення оперативної пам’яті, система виконала запит, і програми віддавали оперативну пам’ять, коли вони їм більше не потрібні. Операційна система подбала про більшу частину роботи з відстеження того, скільки оперативної пам’яті було доступно і хто її використовував. ОС також придумала, що робити, якщо необхідний обсяг оперативної пам’яті був недоступний, що могло призвести до негативних наслідків для продуктивності Mac, оскільки система намагалася використовувати віртуальну оперативну пам’ять, помінявши місця на SSD або жорсткому диску.

Що таке стиснута пам’ять?

Стиснута пам’ять не є чимось новим або ексклюзивним для Apple. Обчислювальні системи вже давно використовують різні форми стиснення пам’яті. Якщо ви використовували Mac в середині 80-х та на початку 90-х, ви могли б згадати такі продукти, як RAM Doubler від Connectix, які стискали дані, що зберігаються в оперативній пам’яті, ефективно збільшуючи обсяг вільної оперативної пам’яті, доступної для Mac. Службові програми стиснутої пам’яті втратили свою прихильність, оскільки виробники комп’ютерів та розробники ОС створили кращі системи управління пам’яттю. Одночасно ціни на пам’ять знизились. Іншим фактором, який змусив системи стиснення пам’яті втратити свою популярність, було питання продуктивності. Алгоритми стиснення пам’яті зайняли значну частину обробної потужності. Хоча вони дозволяють вам робити більше з меншою фізичною пам’яттю, вони, як правило, заглушають ваш комп’ютер, коли їм потрібно стискати або розпаковувати пам’ять. Стиснення пам’яті повертається, головним чином, завдяки появі недорогих багатоядерних процесорів. Коли підпрограми, що використовуються для стиснення пам’яті, можна розвантажити до одного з багатьох процесорних ядер, ви, швидше за все, не помітите жодного збитку продуктивності, коли пам’ять потрібно стиснути або розпакувати. Це стає лише фоновим завданням.

Як працює стиснута пам’ять на Mac

Стиснення пам’яті на Mac підвищує продуктивність операційної системи та додатків, дозволяючи краще керувати ресурсами оперативної пам’яті. Це також запобігає або значно зменшує використання віртуальної пам’яті, тобто підкачки даних на та з диска Mac. З OS X Mavericks та пізніших версій ОС шукає неактивну пам’ять, тобто пам’ять, яка в даний час не використовується, але все ще зберігає дані, якими може користуватися програма. Ця неактивна пам’ять стискає дані, які вона зберігає, тому дані займають менше пам’яті. Неактивна пам’ять – це програми, які перебувають у фоновому режимі та не використовуються. Прикладом є текстовий процесор, який є відкритим, але неактивним, оскільки ви робите перерву та читаєте про стиснуту пам’ять. Поки ви зайняті переглядом веб-сторінок, ОС стискає пам’ять текстового процесора, звільняючи оперативну пам’ять для використання іншими програмами.

Коли відбувається стиснення пам’яті?

Процес стиснення неактивний весь час. Натомість ОС перевіряє, скільки вільного місця доступно в оперативній пам’яті. Якщо є значна кількість вільної пам’яті, стиснення не відбувається, навіть якщо багато неактивної пам’яті. У міру використання вільної пам’яті ОС починає шукати неактивну пам’ять для стиснення. Стиснення починається з найдавніших використаних даних, що зберігаються в пам’яті, і рухається вперед, щоб забезпечити достатню кількість вільної пам’яті. Коли потрібні дані в стиснутій області оперативної пам’яті, операційна система декомпресує дані на льоту і робить їх доступними для програми, яка їх запитує. Оскільки процедури стиснення та декомпресії працюють одночасно на одному з ядер процесора, ви навряд чи зазнаєте втрат продуктивності під час стиснення або декомпресії.

Обмеження стиснення пам’яті на Mac

Існує обмеження того, чого може досягти стиснення. У якийсь момент, якщо ви продовжуєте запускати програми або використовувати додатки, що об’їдають пам’ять, що з’їдають оперативну пам’ять, на вашому Mac не буде достатньо вільного місця для оптимальної роботи. Як і в минулому, ОС починає міняти дані неактивної оперативної пам’яті на диск вашого Mac. Однак при стисненні пам’яті це, швидше за все, є рідкістю для більшості користувачів. Навіть якщо ОС закінчується заміною пам’яті на ваш диск, система управління пам’яттю OS X користується перевагами стиснутої неактивної пам’яті, записуючи стислі дані в повнорозмірні сегменти накопичувачів для підвищення продуктивності та зменшення зносу твердотільних накопичувачів.

Монітор активності та стиснення пам’яті

Apple запропонувала чудовий інструмент Activity Monitor, який міг контролювати, як Mac використовував оперативну пам’ять. Поки Монітор активності все ще доступний, можливості моніторингу пам’яті зазнали значних змін, що імітують спосіб, яким Mac краще здатний використовувати оперативну пам’ять за допомогою стиснутої пам’яті. Ви можете відстежувати, скільки пам’яті стискає Mac, використовуючи вкладку Пам’ять у Activity Monitor. Стиснута пам’ять відображається на графіку тиску пам’яті, який вказує на те, наскільки активно ОС бере участь у стисненні даних оперативної пам’яті. Графік перетворюється із зеленого (невеликий тиск) на жовтий (значний тиск) і, нарешті, до червоного, коли місця оперативної пам’яті недостатньо, і пам’ять потрібно замінити на привід.