Logstash【OCI/GCP/AWS】メモリ1GBの無料インスタンス生活にはスワップメモリが必要メモリ1GB無料インスタンスは太っ腹......だけど1GBでも足りない😭クラウドの無料インスタンスを利用している方の用途は、だいたいWordPressなどを用いた個人サイトかと思います。最近はメモリ1GBの無料VMが各社から提供されるようになり、個人サイトの運営はだいぶ楽になりました。LightSailのメモリ512MBでさんざん苦労したWordPressを1GBに増やしたら安定した経験があります。欲張ったとたんにメモリ1GBでも足りなくなってしまいます。自宅にもLinuxサーバーを置いている方は、だいたいこんな感じでメモリ32GB以上、プロセッサ8vCPUくらいはあるので、重いサーバーソフトを入れても「いきなり全く動かない」事態に直面することは無いと思います。この感覚でメモリ1GBの無料インスタンスを使うと大変なことになります......。Stackを使っています。全文検索エンジンのElasticsearch、データ前処理(ETL)ツールのLogstash、BIツールのKibanaが3点セットで構成されています。今回、このうちLogstashだけOCIの無料枠VMインスタンスに設置を試みました。いうのも、自宅の回線が低速・不安定なため各種情報サービスからAPI経由で安定してデータを取得するのが難しいからです。VM上で構成されています。VMを起動して、その上で各種アプリを起動する仕組みです。これがデカい......。メモリ1GBのインスタンスにLogstashをインストールして起動したところ、またたく間にメモリがすべて食いつくされてしまいました😨こうなるともう大変。sshでのログインすら出来なくなり、モニターを見ると再起動をかけるたびにOSがフリーズしているのです😭サーバー向けUbuntuにはスワップが初期設定されていない私はメモリー極小のレンタルサーバー時代からLinuxを使っていたので、てっきりクラウドのインスタンスにもスワップメモリ(メモリが足りなくなったときに、一時的にデータをディスクに退避させてメモリ不足を防ぐ仕組み)が設定されていると思い込んでいました。Linuxのイメージは初期設定ではスワップが設定されていないのです。従って、メモリ使用量が1GBに達するとそのままOSがフリーズしてしまうことになります。私は泣きながら再起動して速攻でsshしてLogstashをいったん止めた上で、スワップの設定を行い、なんとかLogstashの動作を安定させることが出来ました。2GBのスワップ領域が確保されデータの一部が退避されているサーバーでスワップは設定するべきか?なぜ、Ubuntuサーバーでは初期設定でスワップが無いのでしょうか。理由はふたつ考えられます。第一の理由は、『速度重視』です。Webサーバーなど多数のアクセスをさばかなければならないサーバーは、常に高負荷の状態にあります。データを頻繁にディスクに退避させると、メモリとの速度差のぶんだけサーバーの処理速度が落ちてしまいます。業務用途では避けたいところです。第二の理由は、『ディスクの消耗』です。一般的にディスクはメモリーと比べて寿命が短く、頻繁にアクセスすると故障につながる恐れがあります。サービスダウンが許されない業務用途では、これも避けたいところです。個人用途のサーバーはめったに高負荷になりませんし、遅くても我慢すればどうにかなります。遅いと言ってもハードディスクの時代とは違い、今ではSSDなので大して遅くありません。個人用途のクラウドインスタンスには遠慮なくスワップを設定しようというのが私の結論です。当サイトではPayPay送金による寄付をお願いしております。記事が役に立ったら100円でも結構ですのでお送り頂けると嬉しいです。WordPress.。