タグ

JVMとjavaに関するmillfiのブックマーク (2)

  • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
    millfi
    millfi 2021/06/02
    “先ほどのコードの実装上、finalize が呼ばれない限り close 処理が行われません。finalize が呼ばれる場合というのはすなわち GC が発生する場合です。GC が発生しない場合ずっとメモリ上に蓄積したままになります。”
  • java

    形式 java [options] classname [args] java [options] -jar filename [args] options スペースで区切ったコマンド行オプション。「オプション」を参照してください。 classname 起動するクラスの名前。 filename 呼び出されるJavaアーカイブ(JAR)ファイルの名前。-jarオプションと一緒にのみ使用されます。 args スペースで区切られたmain()メソッドに渡される引数。 説明 javaコマンドはJavaアプリケーションを起動します。これは、Java Runtime Environment (JRE)を起動し、指定されたクラスをロードし、そのクラスのmain()メソッドを呼び出すことによって行われます。このメソッドは、publicおよびstaticとして宣言する必要があり、値を返すことができず、Str

  • 1