タグ

運用とjavaに関するhiro360のブックマーク (14)

  • トラブルに備えるJVMオプション - n-agetsumaの日記

    以前の記事でトラブルが起きた後の初動対応を書いてみたが、いざトラブルに遭遇すると、まず再起動してからどうするか考えるケースが多いと感じている。しかし何も情報がないと『情報がない/再現方法が不明』などの理由からそのままお蔵入りになってしまう。今回はトラブルに事前に備えるために、地味だけど大切なJavaVMのオプションをまとめてみる。 GCログの出力とローテーション OutOfMemoryError発生時のヒープダンプ自動出力と出力パス設定 JavaVMクラッシュログの出力パス設定 JVMオプションの設定 (OpenJDK/OracleJDK) JavaVMにはGCおよびヒープメモリの状態をロギングする仕組みや、OufOfMemoryError時にヒープダンプを自動的に出力するような障害に備えて自動的に情報を出力する機能がある。おすすめのオプション*1は以下の通り。 java -Xms?g -

    トラブルに備えるJVMオプション - n-agetsumaの日記
  • 「JVM Operation Casual Talks」発表資料のリンクをまとめてみる #jvmcasual - 元RX-7乗りの適当な日々

    4/7に、LINEさんのオフィスで開催された「JVM Operation Casual Talks」。 一部で、Cassandra Casualだったのではないかという疑惑もありましたが、なかなかためになる話が多くて、あとできっと資料を見たくなる日が来そうなので、ちょっとまとめておこうと思う。 こちらもあわせて読みたい JVM Operation Casual Talks #jvmcasual - Togetter Understanding Memory Management of JavaVM
 in 15 minutes (@stanakaさん) https://speakerdeck.com/stanaka/understanding-memory-management-of-javavm-in-15-minutes @stanakaさん、どこでJVM使ってるのかと思ったら、今日は

    「JVM Operation Casual Talks」発表資料のリンクをまとめてみる #jvmcasual - 元RX-7乗りの適当な日々
  • JMXのメトリクスをfluentd経由で蓄積する | nagaseyasuhito Daily works.

    みなさんJMXは使っていますか?Javaアプリケーションのメモリ使用量を始めとした統計情報を取得したりできる、運用には欠かせないモニタリング・管理の仕組みですが、統計情報を蓄積する方法に悩んでいる方も多いのではないでしょうか。 今回はアプリケーションから取得できる様々な統計情報をfluentd経由で蓄積し、分析やトラブルシュートに活用する方法を紹介します。 JMX用のfluentdプラグイン JMXの統計情報をfluentdで収集するfluent-plugin-jolokiaというプラグインを使います。 fluent-plugin-jmxではなくfluent-plugin-jolokia?と思われるかもしれません。 JolokiaはJMXをJSONベースのREST APIとして提供するためのエージェントです。fluentdのプラグインはRubyで書かれていますが、Rubyから直接JMXのプ

  • OutOfMemoryError発生! その解決への近道とは

    これらの情報を基に、OutOfMemoryErrorの障害発生原因を探ることとなる。 障害調査~メモリ領域を切り分ける~ まずは、GCログやOutOfMemoryErrorのエラー情報から、「Javaのどのヒープ領域(Javaヒープ、Permanentヒープ、Cヒープ)でOutOfMemoryErrorになっているか」「どれだけのメモリを確保しようとして失敗したか」を確認する。 前回記事で、OutOfMemoryのエラー情報からどの領域でメモリ不足が発生しているかを見分けるポイントについては紹介した。例えば、以下のような場合には(*1)からJavaヒープでメモリが不足していることが分かる。 java.lang.OutOfMemoryError: Java heap space <=======【*1】 at java.nio.CharBuffer.wrap(CharBuffer.java:

    OutOfMemoryError発生! その解決への近道とは
  • 【コラム】イマドキのIDE事情 (79) Java VMの監視/障害解析に役立つツール | エンタープライズ | マイコミジャーナル

    トラブルの発生時に利用するツール システム開発の現場では予期しないトラブルが付き物だ。Javaの場合、ヒープメモリやGCに関するトラブルが発生することが多い。この場合、GCログやヒープダンプを解析することで原因の特定を試みることになる。今回はこれらのトラブルが発生した場合に役立つツールを紹介する。 JDK標準ツール「jconsole」 jconsoleはJDKに標準で付属するJMXクライアントツールで、Java VMのリソースの利用状況を監視するのによく利用される。JDKインストールディレクトリのbinディレクトリ配下のjconsole.exeで起動することができ、ローカルで動作しているプロセスのほか、リモートで動作しているJava VMに接続することも可能だ。JDKのインストールディレクトリ直下のbinディレクトリにあるjconsole.exe(Windowsの場合)で起動することができ

  • App Stats for Java - hidemonのブログ

    これまでPython版にしかなかった App Stats が1.3.2でJavaに導入されたので試してみた. App Statsとは App Stats は各リクエストごとにApp EngineのAPIサービスの利用状況をモニタリングする仕掛け.どのAPIをどれだけ使ったか,個々のAPI呼び出しにどれだけ時間がかかったかを表示してくれる. セットアップ App Statsはそれぞれのアプリケーションに対して設定する必要がある.作業は次の2つ. 統計情報を取得するためのフィルタの設置 取得した情報を表示するためのサーブレットの設置 フィルタの設置 次のフラグメントをWEB-INF/web.xmlに追加する. init-paramでlogMessage を登録しているが,これはログにそのリクエストの参照用IDを表示させるためのもの. <filter> <filter-name>appstats

    App Stats for Java - hidemonのブログ
  • メモリリークの解析に役立つJava VMのオプション「-XX:+PrintClassHistogram」 | gihyo.jp

    @ITの連載「現場から学ぶWebアプリ開発のトラブルハック」の第8回「肥え続けるTomcatと胃を痛めるトラブルハッカー」からのものです。 記事では、長時間稼働すると発生するメモリリークという非常に厄介な問題を取り上げています。通常であれば「定期的に再起動を行う」という運用で回避してしまいそうな問題に真っ向から挑み、Java 1.4.2以降で利用できるJava VMオプション「-XX:+PrintClassHistogram」を使ってメモリリークの原因を突き止めるという解決方法について解説しています。記事はちょっとしたストーリー仕立てになっており現場の雰囲気が伝わり、かつ実践的な内容となっています。 また、連載を通してGCViewerやHPROFなどさまざまなプロファイリングツールが紹介されているので、いざというときのために使いこなしておきましょう。 URL:http://www.atma

    メモリリークの解析に役立つJava VMのオプション「-XX:+PrintClassHistogram」 | gihyo.jp
  • [Think IT] 第4回:Javaのシステム更改を考慮していますか? (1/3)

  • 保守運用の話 - 谷本 心 in せろ部屋

    いわゆるサーバメンテじゃなくて、アプリケーションの保守運用ね。 チョット前に http://d.hatena.ne.jp/shot6/20070905#1189003050 で話題になってた。 S2Javelinシリーズって、そういう所への解として提供したいんですよね。 全然バージョン上がってないけど。 たとえば、S2関係プロダクトには軒並みS2Javelinが入ってて (もしくはJavelin形式のログが出るようになってて) S2シリーズを使ってさえいれば、ArrowVisionで一発で動作が見えますよ、とか そんな状態になってたら、後から保守する人がホント助かると思うんですよね。 全然バージョン上がってないけど。 そんなわけで、S2Javelinへの取り組みを、改めて頑張ります。 秋のSeasarカンファレンスには1セッションある予定なので、 それまでに、一皮向きたいと思います。 バー

    保守運用の話 - 谷本 心 in せろ部屋
  • 【実録ドキュメント】そのログ本当に必要ですか?

    今回の概要 数人で利用しているときは、レスポンスが軽快だったシステムで、ユーザー数が増えてくると急激にレスポンスタイムが悪化する現象が発生した。現場から学ぶWebアプリ開発のトラブルハック 第2回で扱ったFull GCなどいくつか原因が考えられるが、稿ではログ出力にまつわるトラブルをドキュメンタリー形式で紹介し、まとめとしてログ出力のパフォーマンスに関するTipsを紹介する。 今日もまた、突然電話が鳴り響く ある穏やかな朝、突然電話が鳴る。相手は結合テストの工程からパフォーマンステストで支援に入る予定のプロジェクトの担当者である。用件は「結合テストを20人のテスターで実施しようとしているが、レスポンスタイムが1分を超えていて、テストがままならない。早急になんとかしてほしい」 これだけの情報では、トラブルをハックすることはできないので、Webアプリの問題点を「見える化」する7つ道具をノート

    【実録ドキュメント】そのログ本当に必要ですか?
  • Blue a Java Port of .

    Blue is a monitoring solution compatibile with Nagios. It was conceived as a port of the nagios project, but written purely in java.

  • 使用率の高いTomcatサーバーをリアルタイムで追跡&チューニング:CodeZine

    今回は、メニューからグラフの種類を変更できるようにします。これまでは、3D縦棒グラフでデータを表示していましたが、グラフの種類を折れ線グラフと円グラフに変えられるようにします。

  • OZACC.blog: TomcatでJSPディレクティブの余計な改行を出力しない方法

    Java | TomcatでJSPディレクティブの余計な改行を出力しない方法 アガテナ - TomcatでJSPディレクティブの余計な改行を出力しない方法 JSPで出力されたHTMLの先頭で、JSPディレクティブの場所の部分に余計な改行が出力されて、気持ち悪さを感じておりましたが、conf/web.xmlのJSPサーブレットでtrimSpacesで設定できることがわかりました。知らなかった。僕も改行が出力されるのが嫌いだったので、複数のディレクティブを入れる場合はできるだけ改行を入れないようにしていたけど(後から読みにくくなるが)、これですっきりと書けそう。 ちなみにResinの場合、JSPディレクティブの後に「\」を入れると改行の出力を抑制してくれます。

  • Tomcat Probeから名称変更、Lambda Probe 1.6登場 (MYCOMジャーナル)

    The Lambda Probe projectは30日(米国時間)、Lambda Probeの最新版であるLambda Probe 1.6を公開した。Lambda ProbeはApache Tomcatをリアルタイムに監視するためのツールアプリケーション。Lambda Probeは監視対象とするApache Tomcatの状況をリアルタイムに視覚化し、Webインターフェースを通じて提供する。 Lambda ProbeはGNU GENERAL PUBLIC LICENSE Version 2のもとで提供されているオープンソースソフトウェア。1.6における主な変更点は次のとおり。 定義されたデータソースを経由してランダムにSQLを実行するための包括的なツールの提供。テストツールへの接続、リザルトセットのブラウズ、SQL実行履歴の表示などの機能も提供 Java 5によって提供されるようになった

  • 1