Macの圧縮メモリを理解する

インストールしてからMacのパフォーマンスが少し向上しているように見えることに気付いた場合 OS X Mavericks、メモリ管理の進歩とメモリ圧縮の復活が原因である可能性があります。

この記事の情報は、macOS Catalina(10.15)からOS X Mavericks(10.9)を実行しているMacに適用されます。

Macがメモリを管理する方法の変更

のリリースで OS X Mavericks、AppleはMacがメモリを管理する方法を変更しました。 メモリ圧縮を追加することで、Macはパフォーマンスを維持または向上させながら、より少ないメモリでより多くのことを実行できるようになりました。 古いバージョンのOSXでは、メモリ使用量は標準のメモリ管理システムを中心に構築されていました。 アプリはの割り当てを要求しました 、システムはリクエストを実行し、アプリはRAMが不要になったときにRAMを返しました。

NS オペレーティング・システム 使用可能なRAMの量と、誰がRAMを使用しているかを追跡する作業のほとんどを処理しました。 OSは、必要なRAMの量が利用できない場合の対処方法も把握しました。これにより、悪影響が生じる可能性があります。 システムがSSDまたはハードのスペースを交換して仮想RAMを利用しようとしたときの、Macのパフォーマンスへの影響 ドライブ。

圧縮メモリとは何ですか?

圧縮メモリは、Appleにとって新しいものでも排他的なものでもありません。 コンピューティングシステムは、長い間、さまざまな形式のメモリ圧縮を使用してきました。 80年代半ばから90年代初頭にMacを使用した場合、RAMDoublerなどの製品を覚えているかもしれません。 RAMに保存されたデータを圧縮したConnectixは、使用可能な空きRAMの量を効果的に増やします。 Mac。

コンピュータメーカーとOS開発者がより優れたメモリ管理システムを作成したため、圧縮メモリユーティリティは支持されなくなりました。 同時に、メモリ価格は下落しました。 メモリ圧縮システムの人気を失ったもう1つの要因は、パフォーマンスの問題でした。 メモリ圧縮アルゴリズムは、大量の処理能力を必要としました。 少ない物理RAMでより多くのことを実行できますが、メモリを圧縮または解凍する必要があるときにコンピュータをダウンさせる傾向がありました。

主に安価なマルチコアプロセッサの出現により、メモリ圧縮が復活しています。 メモリ圧縮に使用されるルーチンを多くのプロセッサコアの1つにオフロードできる場合、メモリを圧縮または解凍する必要があるときにパフォーマンスの低下に気付くことはほとんどありません。 それは単なるバックグラウンドタスクになります。

Macでの圧縮メモリのしくみ

Macでのメモリ圧縮により、RAMリソースの管理が改善され、オペレーティングシステムとアプリのパフォーマンスが向上します。 また、Macのドライブとの間のデータのページングである仮想メモリの使用を防止または大幅に削減します。

OS X Mavericks以降では、OSは非アクティブなメモリを探します。これは、現在アクティブに使用されていないが、アプリで使用できるデータを保持しているメモリです。 この非アクティブなメモリは、保持しているデータを圧縮するため、データが使用するメモリが少なくなります。 非アクティブメモリは、バックグラウンドにあり、使用されていないアプリである可能性があります。 例としては、開いているが、休憩して圧縮メモリについて読んでいるために非アクティブになっているワードプロセッサがあります。 Webの閲覧で忙しい間、OSはワードプロセッサのメモリを圧縮し、他のアプリで使用するためにRAMを解放します。

メモリ圧縮はいつ発生しますか?

圧縮プロセスが常にアクティブであるとは限りません。 代わりに、OSはどのくらいかを確認します フリースペース RAMで利用可能です。 大量の空きメモリがある場合は、非アクティブなメモリがたくさんある場合でも、圧縮は行われません。

空きメモリが使い果たされると、OSは圧縮する非アクティブなメモリを探し始めます。 圧縮は、メモリに保存されている最も古い使用済みデータから始まり、十分な空きメモリがあることを確認するために前進します。 RAMの圧縮領域のデータが必要な場合、OSはその場でデータを解凍し、それを要求するアプリがデータを利用できるようにします。 圧縮および解凍ルーチンは、次のいずれかで同時に実行されるためです。 プロセッサコア、圧縮または解凍が行われている間、パフォーマンスが低下する可能性はほとんどありません。

Macでのメモリ圧縮の制限

圧縮で達成できることには限界があります。 ある時点で、アプリを起動し続けたり、RAMを大量に消費するメモリを大量に消費するアプリを使用したりすると、Macに最適に機能するのに十分な空き容量がなくなります。 過去と同じように、OSは非アクティブなRAMデータをMacのドライブにスワップし始めます。 ただし、メモリ圧縮では、これはほとんどのユーザーにとってまれに発生する可能性があります。

OSがメモリをドライブにスワップアウトした場合でも、OSXのメモリ管理システムは 圧縮データをフルレングスのドライブセグメントに書き込んでパフォーマンスを向上させ、非アクティブなメモリを圧縮します。 着用する SSD.

アクティビティモニターとメモリ圧縮

Appleは気の利いたツールを提供しました アクティビティモニター、MacがRAMをどのように使用したかを監視できます。 アクティビティモニターは引き続き使用できますが、そのメモリ監視機能は 圧縮されたものを使用することでMacがRAMをより有効に活用できる方法を模倣する劇的な変化 メモリー。

アクティビティモニターの[メモリ]タブを使用して、Macが圧縮しているメモリの量を監視できます。 圧縮されたメモリがメモリプレッシャーグラフに表示されます。これは、OSがRAMデータの圧縮にどれだけ積極的に関与しているかを示します。 十分なRAMスペースがなく、メモリをドライブにスワップアウトする必要がある場合、グラフは緑(わずかな圧力)から黄色(かなりの圧力)に変わり、最後に赤に変わります。

Macでメモリ圧力グラフを表示するアクティビティモニター