タグ

javaに関するhogemのブックマーク (18)

  • OutOfMemoryErrorが発生したときにきちんとJavaプロセスを殺す - nekop's blog

    OutOfMemoryErrorが発生してもスレッドを異空間に葬るだけでJava VMはそのまま動き続ける場合があるけど、当然ながら状態に一貫性のない状態で動いている可能性があるわけで基的にはとっとと死んで欲しいわけである。一般的に言うところの「不定」状態。OOMEはErrorであってふつうの例外ではなく、致命的なJava VMエラーを示すものである。OOME発生後にプロセス再起動しないでそのままどうこうしようというのは絶対に避けた方が良い。 例えばJDBCのコネクションオープンしてDBからデータを読み込んでるときにOOMEが起きた場合、JDBCコネクションは大抵オープンしっぱなしで回収はされなかったりする。OOMEではfinallyブロックが呼ばれる保証はない。JDBCコネクションリークくらいならまだ良い方だが、これは全てに当てはまる。A-B-Cといったセットになっている処理は例外など

    OutOfMemoryErrorが発生したときにきちんとJavaプロセスを殺す - nekop's blog
    hogem
    hogem 2013/09/07
  • Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か

    GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu

    Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
    hogem
    hogem 2010/11/02
    ないすまとめ
  • サイズと日付でローテートするLog4jのAppender作成:CodeZine

    はじめに Apache Logging Services Projectが提供するLog4jは、ファイルサイズによってログファイルのローテーションを行うRollingFileAppenderや日付でローテーションを行うDailyRollingFileAppenderを提供しています。 しかし、ファイルサイズと日付の両方でローテートするAppenderは提供されていないため、両方の機能を同時に利用することはできません。また、DailyRollingFileAppenderを利用する場合は、バックアップログファイル数を設定できないため、Disk Fullへの対策を検討する必要があります。 稿ではRollingFileAppenderとDailyRollingFileAppenderの機能を組み合わせたAppenderを作成する方法を紹介し、その利用方法について示します。対象読者 Javaプロ

    hogem
    hogem 2008/02/18
    log4j
  • [Java]JavaVirtualMachine(Java VM について)

    INDEX [Java]JavaVirtualMachine(Java VM について) 1  NI-Lab.  2004/07/27(Tue) 22:15 [Java]JavaVirtualMachine(Java VM について) 2  NI-Lab.  2004/07/27(Tue) 22:15 http://www.atmarkit.co.jp/fjava/rensai3/javavm01/javavm01_1.html http://www.atmarkit.co.jp/fjava/rensai3/javavm01/javavm01_2.htmlIT:チューニングのためのJava VM講座(前編) Hotspot VMの基構造を理解する http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_1.html http

    hogem
    hogem 2008/02/15
    まとまってる。良記事
  • Java HotSpot VM Options

    Please note that this page only applies to JDK 7 and earlier releases. For JDK 8 please see the Windows, Solaris reference pages. This document provides information on typical command-line options and environment variables that can affect the performance characteristics of the Java HotSpot Virtual Machine. Unless otherwise noted, all information in this document pertains to both the Java HotSpot C

    hogem
    hogem 2008/02/15
    jvmの起動オプション。デフォルト値ものってる
  • ガーベジ・コレクション:GC ( Garbage Collection ) についての簡単な説明と調査方法

    Java の GC について簡単に説明いたします。 GC はヒープやヒープサイズと密接な関連があります。以下のページも合わせて参照ください。 「Java のヒープサイズ」についての簡単な説明 Java プログラムが動作するとオブジェクトはメモリ上にロードされます。 大きなオブジェクトを使用したり、また、使用するオブジェクトの数が多ければ、その分メモリの使用領域は増加します。 そのまま、新しいオブジェクトをロードし続けると、Java が使用できるメモリ領域がメモリが一杯になります。 * 「 Java が使用できるメモリ領域 」、これをヒープ領域と言います。( ヒープ領域以外にも Permanent 領域が存在します。) メモリが一杯になると新しいオブジェクトをロードできず、プログラムを実行することができなくなります。 このような状態を回避するための仕組みが ガーベジ・コレクショ

    hogem
    hogem 2008/02/15
    javaのGC関連の起動オプションの説明とか
  • HotSpot VMの特性を知る

    Permanent領域のチューニング JVMにはPermanent領域と呼ばれるヒープ領域があります。ここにはクラス定義やメソッド、フィールドなどのメタデータが格納されます。 Permanent領域のデフォルトのサイズは、一般的なアプリケーションにとって十分な大きさに設定されています。しかし、アプリケーションによっては非常に多くのクラスをロードするものもあり、Permanent領域が足りなくなることがあります。例えば、JSPやサーブレットを多用するアプリケーション(アプリケーションサーバなど)は、デフォルトのPermanent領域サイズでは足りなくなり、次のようなエラーが発生することがあります。 $ java ManyClassLoadingTest Permanent generation is full... increase MaxPermSize (current capacity

    HotSpot VMの特性を知る
    hogem
    hogem 2008/02/15
    Permanent領域のチューニング
  • Javaパフォーマンスチューニングのルール

    記事は、HP-UX Developer Edgeに掲載された記事を株式会社アットマーク・アイティおよび記事の筆者が独自の判断のもとに加筆・修正したものです。 この連載では、Javaアプリケーションのパフォーマンスチューニングについて、さまざまなテクニックやツールの使い方を紹介していきます。連載の第1回では、パフォーマンスチューニングにおける基的ルールや、HPが提供する各種のJavaパフォーマンス・ツールの使い方を説明します。なお、今後の連載では、JVMレベルにとどまらず、OSのカーネル・パラメータやネットワーク・パラメータのレベルでのチューニング方法も解説します。また、より高度なチューニング技法として、JVMのガベージ・コレクションやスレッド競合に注目する方法も紹介する予定です。 連載予定 第1回 Javaパフォーマンスチューニングのルール 第2回 Javaのガベージ・コレクション

    Javaパフォーマンスチューニングのルール
    hogem
    hogem 2008/02/15
  • ガベージコレクタの仕組みを理解する

    J2EEがミッションクリティカルな分野に適用されるようになり、Javaのパフォーマンスチューニングの重要性はさらに高まっています。パフォーマンスチューニングにはさまざまなパラメータがありますが、中でもJava VMに関連するチューニングの効果は大きいといわれています。稿は、Java VMに関連するチューニング手法を学ぶための前提知識を提供することを目的にしています(編集部)。 ガベージコレクション(Garbage Collection:以下GC)と聞くと、「プログラマの煩雑なメモリ管理作業を軽減してくれるのはいいけど、アプリケーションの応答時間を遅らせたり、スループットを低下させたりして、パフォーマンスの観点からは非常に困ったものだ」というイメージを持つ人も多いのではないでしょうか。 GCはJava HotSpot仮想マシン(Java HotSpot Virtual Machine:以下

    ガベージコレクタの仕組みを理解する
    hogem
    hogem 2008/02/15
  • [Java]CATALINA_OPTSの指定

    Tomcatを、ユーザ "tomcat" で起動している場合、 "tomcat"ユーザの ".bash_profile"ファイルに指定することで設定値が適用されます 記述例(~/.bash_profile) CATALINA_OPTS="-server -Xmx128M -Xms64M -Xss256k -Djava.awt.headless=true" export CATALINA_OPTS (*)起動スクリプト(/etc/rc.d/init.d/tomcat)内に指定してもOKです RedHat系Linux(CentOS)の場合、起動時の環境変数等は、/etc/profile.d/以下に記載し、起動スクリプト(/etc/rc.d/init.d/tomcat等)から読み込む様に記述が統一されています 例(/etc/rc.d/init.d/tomcat) : : : : : : # So

    hogem
    hogem 2008/02/15
    CATALINA_OPTS
  • hellohiro.com

    DOMAIN SALE CLICK HERE TO BUY NOW +1 855-646-1390

    hogem
    hogem 2008/01/11
    mysql-connector使ってjavaからmysqlに接続する方法
  • Webアプリケーションをwarファイルでまとめる

    Webアプリケーションには、jspファイル以外にも、classファイル、jarファイル、xmlファイル、tldファイル、htmlファイル、txtファイル、jpgファイルなど、多くのファイルが含まれています。これらのファイル群を、zipやtar+gzipなどのアーカイブ&圧縮形式でまとめて配布することも可能ですが、war形式(Web Archive Resources)で配布すると、便利な機能を利用することができます。 実際のところ、warファイルはzip形式で圧縮されたアーカイブにすぎません。しかし、ほかの形式とは異なり、warファイルを規定のアプリケーションフォルダ(Tomcatなら、%CATALINA_HOME%\webapps)にコピーしておくと、コンテナの(再)起動時に自動的に展開され、Webブラウザからアクセス可能になるという利点があります。 注意:ただし、Tomcatでは、Se

    Webアプリケーションをwarファイルでまとめる
  • アマゾンはperlでできている - Javaジャバ言ってる間にも(7)

    Ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: Dental Plans Online classifieds All Inclusive Vacation Packages Contact Lens Top 10 Luxury Cars Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy

  • Javaの道:Tomcat(15.コンテキスト.xml)

    コンテキスト.xmlの概要 コンテキストとはTomcatで管理される一まとまりのアプリケーションのことを言います。コンテキストには一まとまりのアプリケーションの動作に必要なJSP、サーブレット、HTML、画像、jar、web.xmlなどが含まれます。通常$CATALINA_HOME\webappsディレクトリ配下に設置されます。 コンテキスト.xmlにはコンテキストの動作を設定します。これまではコンテキストに関する設定はserver.xmlで行っていました。Tomcat5からコンテキストに関する設定はコンテキスト.xmlで設定するように変更されました。 コンテキスト.xmlは$CATALINA_HOME\conf\[engine name]\[host name]ディレクトリ配下に作成します。[engine name]、[host name]はserver.xmlに設定されているengin

    Javaの道:Tomcat(15.コンテキスト.xml)
  • Webアプリの問題点を「見える化」する7つ道具 (1/3) - @IT

    今回の概要 システムが応答しない、パフォーマンスが劣化したなどのトラブルが発生したときに、原因がなかなか掴めず、あたふたすることはないだろうか? 稿では、Java EEトラブルシューティングの現場で役立つ7つ道具を紹介する ある日、突然電話が鳴る 用件は、「システムが不定期に停止する。よく分からないけど、どうやらJava EE部分がおかしい」とのこと。このような事態が発生したとき、やみくもに原因を調べ、いつまでたっても問題が解決できず、原因の一片も発見できないことが多々ある。 トラブルが発生した場合、ツールが充実していない昔は、開発者の経験と勘に頼るところが非常に大きかった。Webシステムが普及するいま、昔とは比べ物にならないほど、システムの数が増え、開発者数が増える一方、システム障害を切り分けられる職人的なエンジニアの人数はシステム数に比例して増えているわけではない。そのため、すべての

    Webアプリの問題点を「見える化」する7つ道具 (1/3) - @IT
    hogem
    hogem 2007/07/27
  • OutOfMemoryエラー発生!? GCがあるのに、なぜ?

    今回の概要 稿ではWebアプリケーションの開発プロジェクトで実際に直面したメモリに関するトラブル事例の中からjava.lang.OutOfMemoryErrorを題材としたTipsを紹介する。 帰宅直前に、突然電話が鳴り響く 業務を終えて帰宅しようとしたとある夜、突然電話が鳴る。相手は社内のプロジェクトのマネージャである。 「現在、テストを実施しているが、数分経つとOutOfMemoryErrorが発生してアプリケーションが落ちてしまう。再起動を掛けると、また順調に動くが、しばらく利用していると、同じようにOutOfMemoryErrorが発生する。メモリ不足のエラーなので、物理メモリを増やそうかと思っているが、物理メモリ増設の前に、アプリケーションという観点からメモリ不足を引き起こす問題がないか調査してほしい」 取りあえず、原因を探るために現場に急行した。 現場にてトラブルの詳細をヒア

    OutOfMemoryエラー発生!? GCがあるのに、なぜ?
    hogem
    hogem 2007/07/27
  • 中国海军护航十周年——解读护航不畏艰险战风斗浪展现大... 航十周年解粤菜传统蒜子-沧州昧谱电子行业网

    并合影留念,中国海军护导张动会的少动员代表代表了参练员族运族运嘉极接见加届全和教判员、裁省领省民数民,式前开幕。 加上烧肉,航十周年解粤菜传统蒜子,更可味道口。读护航不畏备用切丁烧肉。 段大下鳝火翻炒,艰险战风斗调味以盐椒粉、胡,雕酒许水老抽油、再添加花、少,叶加入柠檬,即可葱花上碟撒上,勾薄,下油开锅。浪展现的黄多养殖液没有野庄臣单生的。但美却处油库在减中存量少之国原,中国海军护显示最新数据,度原下调量将预期油产机构普遍四季,期过去虽然暑假美国旺销。 大学厦门林伯强认研究中心主任经济能源为,航十周年解原油基好市场面趋,的状量处于较紧张态石油国际供需。读护航不畏 对于来说油气采掘上市公司,艰险战风斗利好也是重磅,气板油价资价值提涨机遇三油升原格上块投,的企原油业利润可提升产品生产。 8月以来,浪展现易量增长台交态势呈现该平。并分别在部召两市议指挥三防开会,中国海军护到江东平阳江渔港任

    hogem
    hogem 2007/05/22
    "セッションの引継ぎには stickysession と route の指定が必要"
  • 【ハウツー】Seasar 2.4リリース! 今更でも恥ずかしくない、始めてみようDIプログラミング (1) DIプログラミング - Seasar S2Containerで体験してみよう | エンタープライズ | マイコミジャーナル

    Javaプログラミングにおいて、クラスの独立性を高め、再利用性の高さ、実装の入れ替えの容易さ、アスペクトの自動的な適用、ホットデプロイなどサーバデベロップメントに欠かせない機能を実現するための基盤技術のひとつにDI(Dependency Injection)がある。DIはインタフェースと実装の完全な分離を目指し、主にDIコンテナと呼ばれる専用の実行環境/フレームワークを通して実現される。 DIコンテナの実装はいくつかあるが、ここでは11日に最新版の2.4.0(2.4.1)がリリースされたSeasar 2.4(S2Container 2.4)を取り上げて紹介したい。Seasar 2.4はThe Seasar Foundationによって開発がおこなわれているプロダクトで、周辺プロダクトの充実や日語ドキュメントの充実など、国内におけるエンタープライズ向けWebアプリケーションシステム開発用の

  • 1