Linux の SWAPは設定した方が良いの?
長らくお待たせいたしました。皆で遊べる「KYM Game」が完全無料でついに復活しました!🎮
パワーアップした基盤で、いつでも誰でも無料で遊べます。ぜひ気軽に遊びに来てください!
人・使い方による
大前提
今回のお話は、Windowsではありません。
Linuxです。
WindowsにもSWAPがありますが、同じ挙動なのかまでは、良くわかりませんので、Windowsの話は対象外です。
大昔よりある、SWAPに纏わる善と悪
昔はSWAPは必須でした。
Out of Memory
OOMってやつですね。
突然サーバーが死んでしまう奴。
メモリ不足でサーバーが突然死んでしまう事ですね。
SWAPを設定しておけば、利用頻度が低い使メモリ領域をハードディスクに逃して、サーバーの即停止を免れる、何とも便利な機能です。
時は変わって、悪とされる時代へ
ある時代からSWAPが悪者扱いされるようになりました。
それはSWAPを使った事による、スラッシングやHDDへのダメージ、そして、そもそもの速度低下による遅延。
これらを理由にSWAPが悪者扱いされるようになりました。
確かにこれらすべては事実なのでしょうが、そもそも使っていないと、サーバーが落ちていたかもしれない事を考えると、悪者扱いすべきではないのかなと思います。
そして、大容量メモリ時代へ
Window95の時代からパソコンを触っています。
当時は1GBとかそれぐらいだったのかな?
もうあまり覚えていませんが、メモリがたったのそれだけしかない状態だったら、それは直ぐにメモリ不足等発生しますよね。
でも令和の現在、16GBのメモリなども随分お求めやすい価格で買えるようになっています。
そんな状況で、果たしてそう簡単にメモリ不足など起きるのでしょうか?
仮に起きそうな場合ですが、16GBで不足するなら32GBにすればよいだけです。
そこまで費用かかりませんよね?低速なハードディスクにデータを移すぐらいならメモリの増強が選択肢になりえます。
メモリ大容量が当たり前になった現在では、わざわざSWAPを使う意義も薄れてきているのもわからなくもないです。
SSD,NVMeの大戦国時代
気づけばSSDが遅いとか言われる時代です。
現在、NVMeが主流になってきていますが、いつの間にか、ハードディスクが遅い等の言葉も使われなくなりました。
SWAPが生まれた時代はハードディスクが主流の時代です。
メモリとNVMeの速度差も何百倍程度と、以前の何万倍の速度差に比べるとだいぶ近づいてきているのも間違いありません。
そこまで速度差が出ないのであれば、SWAPを活用しても罰は当たらないのかな?と、また、時代の遷移により、SWAPの有用性が求められるようになりました。
実態はどうなの?
サーバーを動かしている立場での私見
SWAPは必須です。
現在動かしているサーバーではSWAPを利用しています。
明言はしていませんが、私のサーバーでメモリが枯渇した場合、SWAP領域が消費されます。現在目視で観測できるようにしているため、非常にわかりやすくなっています。
まず、物理メモリに余裕がある場合、SWAPは一切利用されません。
そこそこ張り付き始めたかな?と思える場合でも利用はされません。
この張り付きですが、一定量の時間が続くと、メモリの使用量が綺麗な直線に変わります。※張り付くぎりぎりの状態は、波打っています。
この直線に変わったあたりで、SWAPが発動し始めます。
SWAPが無い場合、この直線になるタイミングでサーバーが停止します。
OOM
です。
しかし、SWAPが設定されると、サーバーが停止せずに頑張って動いてくれます。
現在動かしているサーバーも、このSWAPがあるおかげで即死を免れている場合が、たたあります。
SWAPなんて、遅くなるだけだから設定しないほうが良い!と言った意見自体は尊重します。ただ、それは必ずSWAPが発生しないメモリ制御と大容量メモリの搭載を行っている場合だけの話では無いでしょうか?
経済的な事情により潤沢なメモリを準備できない人もいると思います。
今からサーバー構築を考えている人は必ずSWAPは設定しましょう。
なお、マイクラのMODサーバーを構築した場合、直ぐにメモリがいっぱいになるなんてことはありませんが、重ためのMODを使うと、直ぐにいっぱいになりますよ。
🚀 記事をお読みいただきありがとうございます!
「Xのフォローをお願いします!」や「無料サーバー運営中!」といったPR枠にご活用ください。
※書き換えは components/article_bottom_guide.php から行えます。