Springbootプロジェクトのメモリ使用量が多すぎる問題を解決する方法
問題:
springbootの開発における非常に深刻なリソースの問題は、メモリ使用量が多すぎることであり、実際、ローカル開発テストには大量のリクエストがないため、これはコンピューターリソースの深刻な浪費であり、IDEがフリーズする原因にもなります。 、クラッシュ。
非常に単純なプロジェクトでは、開始するとすぐに1gのメモリを簡単に占有する場合があります。今日の最適化により、メモリは約200mに正常に削減されました。実際、メインのデフォルト設定は少し大きいため、最適化はローカルでもサーバーでもスムーズに実行できます。
ドライグッズ:
開始コマンドの例、約150mで開始するのにほぼ十分です:
nohup java -jar -XX:MetaspaceSize = 128m -XX:MaxMetaspaceSize = 56m -Xms128m -Xmx128m -Xmn32m -Xss256k -XX:SurvivorRatio = 8 -XX:+ UseConcMarkSweepGC short-url.jar --spring.profiles.active = prod> / dev / null 2>&1&
パラメータの意味:
-XX:MetaspaceSize = 128m:メタスペースのデフォルトサイズ
-XX:MaxMetaspaceSize = 128m:メタスペースの最大サイズ
-Xms1024m:ヒープの最大サイズ
-Xmx1024m:デフォルトのヒープサイズ
-Xmn256m:新世代サイズ
-Xss256k:スタックの最大深度
-XX:SurvivorRatio = 8:新生代分配比8:2
-XX:+ UseConcMarkSweepGC:使用するガベージコレクターを指定します。ここではCMSコレクターを使用します
-XX:+ PrintGCDetails:詳細なGCログを印刷
設定したメモリサイズが小さすぎる場合は、実際の状況に応じて設定を変更できます。