用語集/メモリ

スワップ使用領域

結論

スワップ使用領域は、macOSがメモリをRAMから移したり戻したりするために使っている、起動ディスク上の領域の量です。実行中のものすべてに対して物理メモリが足りないときに使われます。

圧縮してもRAMがいっぱいになると、macOSはメモリの一部を起動ディスクに書き出し、必要になったときに読み戻します。このディスク上の領域がスワップです。

高速なSSDでも、ディスクからの読み込みはRAMからの読み込みよりずっと遅いので、スワップが激しいとMacが遅く感じられます。

少しのスワップは正常?

はい。特にMacを長時間起動したあとなら、少量のスワップは問題ありません。macOSはめったに使わない古いデータをスワップに残しておくことがあります。大事なのは、いまMacが活発にスワップしているかどうかで、それはメモリプレッシャーの黄色や赤として表れます。

スワップを減らす方法

使っていないアプリを終了し、ブラウザのタブを閉じます。アプリを終了しても、スワップはすぐには減らないことがあります。Macを再起動すれば消去されます。

いつものアプリを使うたびにスワップが急に増え、メモリプレッシャーが頻繁に赤になるなら、その作業にはRAMが足りていません。スワップファイルを手動で削除しないでください。macOSが管理しています。

Macのスワップ使用量を確認する方法

“スワップ使用領域”は、アクティビティモニタの“メモリ”タブの下部にあります。ターミナルでも確認できます。次のコマンドは情報を読み取るだけです。

  1. sysctl vm.swapusageを実行します。出力にはスワップの合計、使用量、空きが表示されます。最後にある“encrypted”は、スワップファイルが暗号化されているという意味です。
  2. ls -lh /System/Volumes/VMを実行すると、swapfile0、swapfile1などの名前のスワップファイルそのものが見られます。見るだけにして、削除したり移動したりしないでください。
  3. 作業中に使用量の数値が増え続けるか、同じままかを見ます。

Macがいまスワップしているか見分ける方法

“スワップ使用領域”は合計です。Macがスワップをやめた後も、長い間高いままのことがあります。アクティビティモニタはこれを、最近使用したデータ用の領域をメモリ内に確保するため、ディスクに一時的に移動された圧縮データの量と説明しているので、その後必要とされていないデータがただ置かれたままになっていることもあります。いまスワップが起きているかを知るには、代わりに速度を見ましょう。

  1. ターミナルでvm_stat 5を実行します。5秒ごとに1行表示されます。止めるにはControl+Cを押します。
  2. 最初の行は起動以降の合計なので、無視します。
  3. その後の行のswapinsとswapoutsの列を読みます。5秒ごとの間隔で、RAMとディスクの間を何ページ移動したかがわかります。
  4. ほとんどの時間0なら、ディスク上のスワップは古いデータで、動作を遅くしてはいません。作業中にほとんどの行に数値があるなら、Macは活発にスワップしていて、たいていメモリプレッシャーも黄色か赤になっています。

スワップが多くなるよくある原因

アプリが、RAM内のデータを圧縮してMacが用意できる以上のメモリを必要とすると、スワップが増えます。すべてのアプリを使っていなくても起こります。バックグラウンドのアプリもメモリを保持しているからです。よくある原因は次のとおりです:

  • Macに搭載されたRAMに対して、メモリを多く使うアプリを同時にたくさん動かしている。
  • 仮想マシン。動いている間、大量のメモリを保持します。
  • 何時間も何日もかけて大きくなった、メモリリークのあるアプリ。
  • 開いたままの多数のブラウザのタブ。それぞれがバックグラウンドでメモリを保持しています。
  • 長い稼働時間。以前にディスクに移された古いデータが、まだ残っています。

スワップの普通の状態と気にすべき状態

普通: Macが何日も起動したままで多少のスワップがあるが、メモリプレッシャーは緑で、vm_statにスワップの動きがほとんどない。macOSは、何かが求めるまで古いデータをメモリに読み戻さないので、RAMに空きがあるように見えてもスワップが使われたままのことがあります。

気にすべき: いつものアプリを使うたびに“スワップ使用領域”が増え、vm_statのほとんどの行にスワップの動きがあり、メモリプレッシャーが黄色か赤。その作業にはもっとRAMが必要か、同時に動かすアプリを減らす必要があります。Vitalsはアプリごとのメモリの履歴を30日間残すので、スワップが増える前にどのアプリが大きくなっていたかがわかります。

よくある質問

Macのスワップ使用領域とは?

RAMがいっぱいのときに、macOSが追加のメモリとして使っている起動ディスク上の領域です。

スワップが多いとMacに悪い?

少量なら正常です。スワップが多い、または増え続けていて、メモリプレッシャーも黄色や赤なら、MacのRAMが足りず、動作が遅くなります。

Macのスワップを消すには?

メモリを大量に使うアプリを終了するか、Macを再起動します。スワップファイルを手動で削除しないでください。

スワップでMacのSSDは劣化する?

スワップはSSDに書き込みを行い、どのSSDも寿命の間に書き込める量には限りがあります。たまのスワップなら心配はいりません。絶えず大量にスワップすると書き込みが増えるので、速度と劣化の両面から減らす価値があります。

Macのスワップファイルはどこに保存されている?

/System/Volumes/VMに、swapfile0、swapfile1などの名前のファイルとして保存されています。macOSが必要に応じて作成・削除するので、触らないでください。

Macでスワップをオフにできる?

そのための設定はなく、試すべきでもありません。スワップがなければ、アプリは遅くなる代わりにメモリ不足に陥ります。

関連項目

詳しい手順: CPUやメモリを使っているアプリ。

アクティビティモニタより優れたものをお探しなら、Mac向けアクティビティモニタの代替アプリのおすすめをご覧ください。用語集のすべての用語も見られます。