2015年10月7日水曜日

システムを安定させるためのコツ - 15% の空き領域ルール

みなさん、こんにちは!

突然ですが、「15% の空き領域ルール」というのをご存知でしょうか?

Mac を普通に使っていれば、マシンの不調やパフォーマンスの低下はどうしてもついてまわる問題ですが、それを避けて通る「コツ」として、以前から耳にしていたのが「15% の空き領域ルール」です。私自身、このルールの根拠は何なのか知りたいと思い少し調べてみましたよ。

探し当てたのが以下、TechTool Pro の開発元 Micromat の技術者がフォーラムで紹介していた投稿です。昔ある掲示板に投稿したポストだそうですが、今でも十分適用すると思うので、本日はこちらをご紹介。


Unix ベースのシステム全般における一般的なガイドラインとして、起動ボリュームには最低 15% の空き容量を確保するべきです。さらに多くの上級ユーザの意見では、空き容量は 25% 以上を保つというのが常識になっています。
15% の空き領域ルールは、Mac OS 8 や 9、また Unix ベースの Mac OS X においても長年にわたり定番の経験則として知られています。これはドライブ容量の管理に日常の労力を費やすことなく、かつシステムトラブルから使用者を遠ざけるための大雑把な教えという大切な役割を果たしてくれています。
残念ながら特定のボリューム上にどれだけの空き領域が必要かを簡単に計算できる方法はありません。 
まずひとつ重要な判断材料として、そのボリュームが起動ボリュームか否かがあります。ここからは主に起動ボリュームについてお話しします。起動ボリュームの場合、単に仮想メモリが正常に機能するためには、スワップファイルとして使用する空き領域、すなわち搭載する物理 RAM 容量の 4 倍、場合によっては 8 倍に相当するだけの空きが必要です。Tiger 以降、スワプファイルが断片化してもカーネルパニックを起こすことはなくなりました。ですがスワップファイルが断片化すると、パフォーマンスが苦しくなり、いろいろと大変なことがあっという間に起き始めます。ボリュームの空き領域を増やすことで、断片化が生じない連続した空き領域を十分に確保できる確率が高くなります。ここで言う「連続した」とは飛び飛びのブロックではなく、ひとかたまりの領域という意味です。 
スワップファイルに加え、ノート型の Mac の場合、不可視の /private/var/vm に sleepimage ファイルが生成されます。これは物理 RAM と同じ容量になります。(注1 
ディスクディレクトリを再構築する必要がある場合、カタログ B ツリー、およびエクステント B ツリーはディスク上で連続した空き領域に書き込む必要があります。これらファイルは一旦作成されてしまえば断片化しても問題ありませんが、作成時には一ヶ所で作成する必要があります。カタログ B ツリーやエクステント B ツリーのサイズはユーティリティなどを使用して確認することができます。これらの当初のサイズはそのボリュームを作成する時に決定されます。カタログ B ツリーのサイズはボリューム上に一定以上のファイルが追加されると増やされます。エクステント B ツリーのサイズは一定以上のファイルが断片化した場合に増やされます(Apple ではエクステント B ツリーをエクステントオーバーフローファイルと呼んでいます) 。
Spotlight インデックスも次第に大きなディスク領域を必要とするようになります。新しくファイルを追加するにつれ、Spotlight インデックスが大きくならなければ、その新しいファイルが Spotlight で探せません。 
Mac OS X 10.4 から、Apple は拡張属性ファイルと呼ばれる新たなディスクディレクトリファイルを採用しました。これにもディスク領域が必要です。新しくシステムソフトウェアのアップデートがされるたびに、新たな機能のためのさらなるディスク領域が必要になる傾向があります。 
最適化ユーティリティが動作するにはやはり連続した空き領域が必要になります。TechTool Pro の場合では断片化をするファイルの中で一番サイズが大きいものと同じ連続した空き領域が必要です。ドライブに空きが少なければ、断片化を解消するのに必要となるこの条件を満たせる可能性も低くなります。 
(以下略) 
訳者注1:セーフスリープ機能によって、スリープするたびに RAM 上の内容がsleepimage ファイルに書き込まれます。スリープ中にバッテリーがなくなってしてしまった場合などでも、安全に情報を確保するための仕組みです。OS X Mavericks 10.9 以降ではメモリ圧縮により sleepimage の容量も圧縮されます。 
引用元:TOPIC: I think we need a "stop Checkmate button" 


いかがでしょうか。ちょっと乱暴なんですが、まとめると「15% の空き領域ルール」の根拠のキモは以下の通りです。

  • スワップファイルに利用できる領域、それも断片化しないように連続した空きの状態である必要がある(断片化すると、途端にシステムが不安定になるため)。
  • ノート型の場合は、sleepimage が案外容量を必要とする(定期的に再起動して解放するようにしましょう)。

ちなみに、TechTool Pro 8 をインストールすると、同時に「TechTool Protection」のインストールも促されます。この TechTool Protection は、SMART チェックやゴミ箱のキャッシュなど、バックグラウンドで動作する機能が備わっていますが、その中で「ボリューム使用状況」を監視する項目があります。ボリュームの使用領域が任意の割合(%)になった場合に警告アラートがでるのですが、ここでもデフォルトの空き領域の割合は「15%」で設定されています。


そもそもこの「15% の空き領域ルール」、Mac を普段通り快適に使い続けるための目安なんですよね。覚えておいて損はないのではないでしょうか。

それでは本日はここまで

テクニカルサポート - TH

- TechTool Pro 8 最高峰の Mac 用メンテナンスユーティリティ -

- メンテナンス特集 -

- act2 サポートサイト -

- TechTool Pro 8 FAQ ページ -

0 件のコメント:

コメントを投稿