質問: ramに十分な空き領域がある場合に、なぜswapを使用するのですか? ramの代わりにswapスペースを使用できます劇的に遅くなる pc。では、なぜ十分な数以上のram=利用可能な場合、私のlinuxシステム(arch)はスワップを使用するのですか?以下の私の厄介な出力をチェックしてください:また、これが速度とシステムの応答性の問題の原因になる可能性がありますか?free -mの出力:$ free -m total used free shared buffers cached mem: 1257 1004 252 0 51 778 -/+ buffers/cache: 174 1082 swap: 502 144 357
回答: 最新のプログラムの多くは、プログラムを実行するために実際には必要ではない多くのジャンクを引き込む肥大化したフレームワークに基づいて構築されています。これらの未使用のページをスワップアウトすると、ram=実際にramを使用できるキャッシュおよびプログラム用に解放されます。ここで私は辛い個人的な経験から話します。昨年、私は自分のwebサイトの1つを、firefoxの上に構築された有望な新しいwebサーバーフレームワークに切り替えました。 firefoxのようなクライアント重視のプログラムの上にサーバー側システムを構築するのは奇妙に聞こえるかもしれませんが、いくつかの大きな利点がありました。 firefoxは非常に強力で、いくつかの非常に印象的な内部サービスを提供します。また、サーバーとクライアント間のインピーダンスの不一致を減らし、両方で同様のプラットフォームを実行します。しかし、欠点もあります。firefoxが大きいことです。本当に大きい。これはバージョン1.xの一種のプロジェクトだったので、guiサポートの削除などに慣れていませんでした。[*]私のサイトにはそれは必要ありませんでしたが、私のホスティングプロバイダーが使用していたvpsテクノロジーはスワップスペース、そのguiコード、および私が使用しなかったfirefoxの他のすべての部分は、実際のramを使用しませんでした。最終的に512 mbが必要になりましたram minimumメモリ不足のためにクラッシュせずにサイトを実行するためだけです。私のvpsにスワップスペースがある場合、おそらく256 mbプランで。[*] このプラットフォームの利点の1つは、サーバー側のフレームワークが別のサイトからwebページをダウンロードでき、ユーザーが操作するのと同じように操作できるため、フレームワークからguiコードを削除することは望ましくなかったかもしれません。クライアント側になります。マッシュアップを考えてください。 webページをグラフィックコンテキストに「レンダリング」できない場合、そのようなことの多くはうまく機能しません。ちなみに、このwebフレームワークは今や本質的に死んでいるので、名前を付けたり、それを構成したりする意味はありません。幅広い教訓を心に留めておくのが最善です。はい、空きramがギグしても、スワップは役立ちます。