タグ

heapに関するwalk77のブックマーク (7)

  • JDK 8 JVM Improvements - C2-JavaDay-304328.pdf

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

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

    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Java 8時代の開発者のためのデバッグ/トラブル解決の基本・応用テクニック~JJUG CCC 2014 Springまとめリポート(後編)

    Java 8時代の開発者のためのデバッグ/トラブル解決の基・応用テクニック~JJUG CCC 2014 Springまとめリポート(後編)(1/3 ページ) Java開発における3大トラブルと対策、IDEのデバッガー活用の必要性、Java 8より導入された新しいメモリ領域を使いこなすためのテクニック、独自のトランザクショナルメモリ機構を実装した有効性などをお伝えする。 日Javaユーザーグループは2014年5月18日、「JJUG Cross Community Conference 2014 Spring」を開催した。「JJUG Cross Community Conference」(以下、JJUG CCC)は毎年春と秋に開催されるカンファレンス。初心者向けからエキスパート向けまで、Java/JVMに少しでも関連すればいいという広いテーマでさまざまな講演が行われている。 前編では、「S

    Java 8時代の開発者のためのデバッグ/トラブル解決の基本・応用テクニック~JJUG CCC 2014 Springまとめリポート(後編)
  • jmapを用いたJVM Heapの状態調査

    メモ。 参考:http://www.javainthebox.net/laboratory/JavaSE6/managementtools/mngtools.html jmapは、JVMのHeapメモリ内の情報をdumpするためのツールです。 http://docs.oracle.com/javase/jp/6/technotes/tools/share/jmap.html 引数にjavaのプロセスIDを渡してあげると、当該プロセスのメモリ情報をダンプすることができます。 jmap -dump:format=b,file=[file name] [pid] 上記の例では、バイナリ形式でheapのダンプ情報を出力します。 ダンプしたファイルは色々なツールで可視化が可能ですが、javaの標準コマンドであるjhatが一番楽だと思います。 jhat [file name] 引数のファイルには、上述

    jmapを用いたJVM Heapの状態調査
  • JRubyのメモリを観察するには

    原文: チャールズ=オリバー=ナター Ruby言語の各実装において、どんなメモリ消費を解析するツールがあるのかが近頃ちょっとした話題になっています。 それもその筈、Rubyで書かれたアプリケーションの(不具合の調査は言うに及ばず)メモリ消費の具合を詳しく調べるのは容易い事ではありません。 JRubyを使わないのなら、そうです。 JRubyはJVM上で走るので、JVM向けに作られた何十ものツールの恩恵に授かる事が出来ます。 中にはJDKに同梱されているものを含め、メモリの調査、解析、レポートをするものもあります。 ヒープダンプが欲しければ、Hotspot系のJVM(SunまたはOpenJDK)に含まれるjmapやjhatが使えます。 もっと高度なツールが欲しければ、Eclipseを基にしたMemory Analysis Tool、 メモリ及びCPU性能解析ツールであるYourKit、 今では

    JRubyのメモリを観察するには
  • Javaメモリリーク - KuniWiki

    設定方法 † http://d.hatena.ne.jp/tanamon/20091016/1255674058 リモートアプリケーションからデータを取得するには、リモートの JVM で jstatd ユーティリティーが実行されている必要がありますリモートホストで実行中のアプリケーションはプロファイルできません。 ※ただし、デフォルトのポートは1099を使っており、セキュリティ的にポートが閉じられていると思います。 なので、jvisualvmをリモートで接続できない場合があると思います。 でもjvisualvmはヒープしたダンプファイルを読み込むことができ、かつ比較する機能を持っています。 sshで入れるならば、sshでリモートサーバに接続して、すでにプロセスが動いているとおもうので、 ps aux でプロセスをしらべて、比較的負荷の少ない時間帯にjmapを行います。 自分だと ps au

  • いざという時のために覚えておきたい OQL - OQL ヘルプ日本語訳 - にょきにょきブログ

    Java ヒープを解析する際、jhat や Memory Analyzer といったツールを使うことになるが、これらのツールの内部では OQL (Object Query Language) という言語が使われ、ヒープを解析している。 SQL ライクに記述できるこの言語を手で打って使用することは滅多に無いが、稀に手動で OQL を実行した場合がある。そのようなとき、日語版のドキュメントがどうにも見当たらなかったので visualvm の OQL Help(http://visualvm.java.net/oqlhelp.html)の日語版をここに記述しておくことにする。 OQL は、手動で実行しないだけで、Java ヒープ解析時には必ず使われる言語であるのだがいかんせんまだ完成度が高いとは言えない。というのも、とにかく実行に非常に時間がかかる。少し大きいヒープダンプに手動のクエリを打っ

    いざという時のために覚えておきたい OQL - OQL ヘルプ日本語訳 - にょきにょきブログ
  • 1