ElasticSearch:優先パラメータ期間中のリソースの問題


問題の状況


./bin/elasticsearchを使用してESを実行すると、2つの問題が発生します.
1.警告およびタイムアウトログを出力します.
2.新しい端末に接続できないか、応答が遅い.
3.EC 2コンソールモニタのCPU使用量は非常に高い.

の原因となる


システムリソースの環境設定を考慮していないため、Thrashingが発生した可能性があります.

解決する


ESに割り当てられたJVM Hipメモリを確認し、デフォルト値を使用します.

詳細


  • 実験環境におけるリソース

  • クラウド環境AWS EC 2インスタンスタイプt 2.マイクロ:Pretty CPU 1 COREMemory 1 GB

  • Elasticsearchのjvm hipメモリ設定を変更する実践を行った後、問題が発生しました.
  • vi ./config/jvm.options
    -xms512mb
    -xms512mb

  • 既存の端末が応答しないため、puttyは閉じます.新しい端末も接続されていません.AWS EC 2コンソールの検証により、CPU使用率は80%を超えた.

  • 2つの端末を開き、1つはESを実行し、もう1つはtop(プロセスを監視するコマンド)を実行します.ESプロセスの状態を確認しようとしたが、意外なプロセスを発見した.

  • プロセス番号は84で、rootで実行されるkswapd 0プロセスではほとんどのCPUが使用されています.

  • [ stackoverflowで見つかったkswapd 0プロセスについて説明します ]
    EC 2インスタンスは、ESに必要なメモリと比較して物理メモリが不足しているため、多くのSWAPが必要となる.システム資源の不足によるThrashingの事例といえる.

  • jvm.optionsのデフォルト設定値に従って設定されたheap sizeは388 mbです.この状態でESは正常に動作する.