はじめに こんにちは、ピクトリンク事業部開発部サーバサイド開発課のkitajimaです。弊社サービスピクトリンクは、システム再構築の一環として
はじめに こんにちは、ピクトリンク事業部開発部サーバサイド開発課のkitajimaです。弊社サービスピクトリンクは、システム再構築の一環として
jhat でヒープダンプを解析してみた。簡単な内容になりますがその時のメモです。 ヒープダンプの取得は以下のエントリーにまとめてますが、今回は jmap を使ってます。 ・「Java」 ヒープダンプの取得方法 - プログラム日記 http://a4dosanddos.hatenablog.com/entry/2013/03/28/000331 ※ 一応、jhat、jmap のドキュメントを。 ・jhat - Java ヒープ解析ツール http://docs.oracle.com/javase/jp/7/technotes/tools/share/jhat.html ・jmap - メモリーマップ http://docs.oracle.com/javase/jp/7/technotes/tools/share/jmap.html 対象のソースコードは、以下の感じで作ってみました。 Heap
肥え続けるTomcatと胃を痛めるトラブルハッカー:現場から学ぶWebアプリ開発のトラブルハック(8)(1/3 ページ) 本連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) メモリリークと聞いて、良いイメージを思い浮かべる開発者は少ないだろう。経験したことのある人にとっては、思い出したくない過去の記憶がよみがえるかもしれない。もしかしたら、その単語を聞くだけで胃が痛くなる人もいるかもしれない。筆者もかつてはその1人であった。 前々回の記事では、WebサーバとTomcatの間の接続において、スレッド数の不整合により発生したトラブル事例を、前回はTomcatとDBサーバの間のトラブル事例を紹介した。今回もTom
こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、
Tomcat のどのクラスがメモリリークしているかを確認したい時があります。 例えば、fullGC されているのに全然ヒープ使用量が減らない、ソースコードを読んでも検討がつかない 何かキッカケだけでも欲しい!などなど。 どのクラスが現在どれだけのインスタンスが存在していて、 どれだけのメモリを使っているのかを確認するには以下の様な手順で ヒープの統計情報を取得することで可能になります。 以下は Amazon Web Services(AWS) の EC2 に Tomcat 7 をインストールしている前提です。 準備 /etc/tomcat7/tomcat7.conf を編集する (バックアップを取るのを忘れずに・・・) sudo vi /etc/tomcat7/tomcat7.conf CATALINA_TMPDIRの下あたりに以下を追加 CATALINA_OPTS="-XX:+Print
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く