webアプリ(springbootでwarを作成してtomcatにデプロイ)のメモリの増加を調査していて、jmeterで10時間10tpsで処理を流しました。
jstatコマンド毎秒計測し、S0U+S1U+EU+OUを足したtomcatの使用済み領域は以下の図の一番上の内容になりました。
また、ygc、fgcは以下のように実行されているようです。(jstatコマンド参照)
tomcatの最大ヒープサイズは512に設定しているため最大値付近になるとfgcが走るのは良いのですが、
途中、7500-15000秒、25000-30000秒あたりのメモリの急増の原因がわかりません。
一定の間隔でリクエストを投げて処理も滞留していないため、メモリの増加傾向も一定の傾きになるものと考えております。
aws ec2 m5のインスタンスでwebサーバを立てて計測しています。
メモリ急増の原因、あるいは調査方法をご教授お願いいたします。
■以下のようなことを調べました。
・ freeコマンドで調べたusedメモリの推移。
メモリが急増する7500秒辺りで増加しています。tomcat分の増加なので問題なさそうです。
一時間間隔で振れているのはjmapでメモリのヒープダンプを取っているためです。
・ jmeter.logに吐き出されるスレッドのstartedからfinishedの時間。
今回10tpsで実施しているため、360000リクエストをwebアプリに投げていておおよそ0.25秒で処理が返ってきます。
これを見ると処理が滞留していないことが確認できます。
一時間間隔で振れているのはjmapでメモリのヒープダンプを取っているためです。
あなたの回答
tips
プレビュー