4.5. 仮想メモリのパフォーマンスとは

他のパワフルなツールと同様に、仮想メモリによってコンピュータが簡単に大きく複雑なアプリケーションを処理できるようになりますが、犠牲になるものがあります。この場合、パフォーマンスのひとつです。仮想メモリのオペレーティングシステムでは仮想メモリをサポートできないオペレーティングシステムに比べて多くの動作を必要とします。つまり、同じアプリケーションが 100% メモリ常駐なら仮想メモリのあるオペレーティングシステムは仮想メモリをサポートしないオペレーティングシステムほどのパフォーマンスは期待できません。

しかし、あきらめてしまう必要はありません。仮想メモリの利点にはすばらしいものがあります。ほんの少しの作業で適切なパフォーマンスを得ることができます。行なうべきことは、仮想メモリサブシステムの大量使用により影響を受けるこれらシステムリソースを調べることです。

4.5.1. 最悪なパフォーマンスの例

この章で学んできたことを少し振り返って極端に激しいページフォルトやスワッピング動作に使用されているシステムリソースがどれなのか考えてみます。

こうした負荷の相互関係により、リソース不足がいかに深刻なパフォーマンスの問題を招く可能性があるのか理解しやすくなります。

すべてシステムに RAM が少なすぎる、大量のページフォルト動作が起こっている、CPU またはディスク I/O の点で制限ぎりぎりでシステムが稼働しているということになります。この時点で、システムはスラッシング状態に陥ってしまい、必然的にパフォーマンスが低下します。

4.5.2. 最適なパフォーマンスの例

最適な状態では、仮想メモリのサポートによるオーバーヘッドは適切に設定されたシステムに対して最小限の追加負荷を示します。

ここから、全般的に留意すべき点は仮想メモリによるパフォーマンスへの影響はそれが使用されている時にできるだけ最小限になっているということです。つまり、最適な仮想メモリサブシステムパフォーマンスの主たる決定的な要素は十分な RAM があるということになります。

次に(重要性は低いですが)留意すべき点は、ディスク I/O と CPU の処理能力が十分であるかということです。しかし、これらのリソースはシステムパフォーマンスが大量のページフォルトやスワッピングにより適切に degrade するのを助けるだけであることに留意してください。仮想メモリサブシステムのパフォーマンス向上には役に立ちません(しかし、全体的なシステムパフォーマンスにおける主要な役割を担っているのは確かです)。

注記

[1]

適度に活発なシステムは、新規に起動したアプリケーションとして起きたページフォルトをメモリに送るため、常にある程度のページフォルト動作が発生しています。