タグ

jvmに関するorangehatのブックマーク (21)

  • 【コラム】イマドキの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の場合)で起動することができ

  • “Stop the World”を防ぐコンカレントGCとは?

    この表2のパラメータは、動作させるマシンのCPUが2個以上かつ物理メモリが2Gbytes以上の場合には、自動設定される。 ■Heapの全体サイズを指定する コンカレントGCでも、スループットGCと同じくHeapの全体サイズを指定する。ヒープの全体サイズは、以下を考慮に入れて設定する。 OSの空きメモリ量 Heapの全体サイズは、ハードウェアの搭載物理メモリ量から、OSやそのほかのソフトウェアが必要とするメモリ量を引いた値以下にする。これは、Heapのサイズを大きくし過ぎると、スワップが発生し大幅に性能が劣化するためだ アプリケーションが必要とするメモリ量 ユーザーごとにHttpSessionに積み込むオブジェクトのサイズや、キャッシュされたオブジェクトのサイズなど、必要となるオブジェクトのサイズを積算し、それ以上の値にする 実際には、アプリケーションが必要とするメモリ量を積算することは難し

    “Stop the World”を防ぐコンカレントGCとは?
  • @IT:事例に学ぶWebシステム開発のワンポイント(9)メモリは足りているのに“OutOfMemory”

    連載では、現場でのエンジニアの経験から得られた、アプリケーション・サーバをベースとしたWebシステム開発における注意点やヒントについて解説する。巷のドキュメントではなかなか得られない貴重なノウハウが散りばめられている。読者の問題解決や今後システムを開発する際の参考として大いに活用していただきたい。(編集局) 今回のワンポイント Javaアプリケーションを動作させていて、「OutOfMemoryが出た」「Java VMが落ちた」という問い合わせを受けることがある。この場合、たいていはアプリケーションの問題や、設定の問題であることが多い。稿では、HP-UX上でのJava VMを例に、OutOfMemoryが出る原因とその対処方法を紹介する。なお、稿に登場する用語は第6回「APサーバからの応答がなくなった-GCをチューニングしよう-」で解説しているので、参照してから読んでほしい。 Old領

    @IT:事例に学ぶWebシステム開発のワンポイント(9)メモリは足りているのに“OutOfMemory”
  • 「Java のヒープサイズ」についての簡単な説明

    Java のヒープ領域及び 非ヒープ領域、メモリ管理について簡単に説明いたします。 ヒープやヒープサイズはガーベジ・コレクション:GC ( Garbage Collection ) と密接な関連があります。以下のページも合わせて参照ください。 ガーベジ・コレクション:GC ( Garbage Collection ) についての簡単な説明と調査方法 Java のオブジェクトは、大きく分けて、New、Old 、Permanent というメモリ領域で管理されます。 新しいオブジェクトを格納するのが New 領域と呼ばれ、古いオブジェクトを格納するのが Old 領域と呼ばれます。 Permanent 領域にはクラスやメソッドなどの情報が格納されます。 ( これらは Permanent Generation, Tenured Generation, Young Generation とも

  • “Stop the World”を防ぐコンカレントGCとは? (1/2) - @IT

    “Stop the World”を防ぐコンカレントGCとは?:現場から学ぶWebアプリ開発のトラブルハック(2)(1/2 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) Full GC問題の時代が再び到来! それまで順調に動いていたはずのWebアプリケーションが、ある時突然、応答を返さなくなる。そして、運用者があたふたしている間に、何事もなかったかのように再び動き出す。 Javaで構築したシステムにかかわる者ならば誰しもが体験するであろう事象、そうFull GC(ガベージ・コレクション)だ。Full GCが行われている間、すべてのアプリケーションスレッドは停止する。この事象は“Stop the

    “Stop the World”を防ぐコンカレントGCとは? (1/2) - @IT
  • メモリリークトラブルシューティング記 - その3: 侍でヒープ使用量を確認 - 侍ズム

    << ヤフーがビジネスパーソン向けSNSを開始 - 命は既に会員数7万超の SBI Business? | Home | IDEA 8 リリース >> 山裕介のweblog。 映画、アーチェリー、Java 好き。 このブログでは日々の出来事、IT関連のニュース、映画の感想など種々雑多なエントリを書き連ねています。 Twitter:yusukey Mail: yusukemac.com

  • OutOfMemoryError回避のためのJavaコーディング - 完結編 | 株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報

    OutOfMemoryError回避のためのJavaコーディング - 完結編|株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報| 携帯サイト開発から生まれる技術情報ブログ 前回と前々回でOutOfMemoryErrorの典型的な発生パターンを3つ紹介した。 (A)サイズオーバー型 巨大な領域確保によって一気にヒープの最大サイズをオーバー (B)メモリリーク型 開放されないオブジェクトが溜まり続けることで使用中メモリが徐々に増加し、メモリが枯渇 (C)マルチスレッド型 長時間処理により”死んだ”スレッドがメモリをい尽くす じゃあOutOfMemoryErrorが発生したときに、どのパターンのエラーに該当するのか?これを見抜くための手がかりを最後の話題にしたい。 原因究明の手がかりは・・・? OutOfMemoryErrorの原因究明。見るべきポイントはいくつかある。

    orangehat
    orangehat 2010/01/02
    OutOfMemoryについて
  • jconsoleでTomcatサーバをモニタリングする - トラシスラボ 技術ブログ

    概要 jconsoleで Windows PC から Linux サーバ上で稼動している Tomcat サーバに対して接続し、リソース使用状態を監視する方法についてまとめた。 このjconsole、「接続しようとしても接続できない」という問題に結構出会う。 しかも「何が問題か」を教えてくれない。 以前にもこの現象に出会って時間を取られてしまったにもかかわらず、メモを残していなかったので、また調査するはめに...orz 無駄な時間を今後費やすことがないよう、自分が出会ったトラブルについてまとめた。 jconsoleとは Sun JDK 6 の中には、コンパイラ javac の他にも、いくつか役に立つツールが含まれている。 jconsole は、Java プログラムに対し、次のような情報を得ることができる。 パフォーマンス情報 メモリの使用状態 稼働中のスレッドに関する情報 JMX

    orangehat
    orangehat 2009/12/30
    jconsoleをリモート
  • あなたの知らないJDKの便利ツールたち

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー

    あなたの知らないJDKの便利ツールたち
  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

    orangehat
    orangehat 2009/12/30
    jstat
  • jstatの使い方 | dTblog | デザインとプログラムの境界をさまようブログ

    J2SE1.5から導入されたJVMの統計データ監視ツール、jstatの使い方メモ。 jstatを使えば、稼働中のJVMのヒープメモリの状態、パーマネント領域の状態、クラスローダーの統計情報などを参照することができる。イメージとしては、topコマンドみたいな感じで、JVMのリソース情報を監視できる。障害時の調査ユーティリティツールのひとつとして威力を発揮します。 まあ、プロファイリングツールではないので、メモリリークの有無は読み取れるけど、リーク箇所までは特定できないんで、そこは使い分けが必要だけど。 ここでは例として、Linuxのローカルマシン上で動いているtomcatの統計データを監視するケースを取り上げます。ただ、Windowsでも、同じ手順でOKのはず。 まず、jpsコマンドで、JVMのプロセスIDを確認。 $ jps 12893 Jps 12829 Bootstrap 13122

  • 「Java SE 6完全攻略」管理ツールの集大成 - VisualVM その1

    先月まで,連載ではJava SE 6u10の新機能を紹介してきました。今月からは,Java SE 6u10以外のアップデートリリースで取り入れられた機能を紹介していきます。 まずはじめに紹介するのが,JDK 6u7で導入されたVisualVMです。 なお,諸般の事情により連載は今回より隔週の連載になります。今後,第1,第3週の月曜に記事が掲載されますので,ご了承ください。ただし,今月は第3週の月曜の21日が休みなので,その代わりに14日に掲載する予定です。 管理ツールVisualVM Java SEはJ2SE 5.0より管理の機能が強化されてきました。J2SE 5.0の開発テーマにはMonitoring & Managementがあげられていることからも,ソフトウエア管理が重要視されていることがわかります。 この流れはJava SE 6でも変わりありません。連載でもJava SE 6

    「Java SE 6完全攻略」管理ツールの集大成 - VisualVM その1
    orangehat
    orangehat 2009/12/30
    VisualVM
  • 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

  • @IT:Javaパフォーマンスチューニング 第3回

    記事は、HP-UX Developer Edgeに掲載された記事を株式会社アットマーク・アイティおよび記事の筆者が独自の判断のもとに加筆・修正したものです。 今回は、Javaにおけるヒープ・メモリ管理の詳細を説明します。JVMのヒープ・メモリの中で、新しいオブジェクトと古いオブジェクトがどのように配置されるかを理解することで、ヒープ・メモリが有効に利用されているか否かを判断することができます。また、JVMが出力するガベージ・コレクションのログを解析し、オプションの指定によってヒープ・メモリのサイズを適切にチューニングする方法を紹介します。 Java ヒープ・メモリの構造 Javaにおけるガベージ・コレクションのメカニズムを理解するには、まずヒープ・メモリの構造を知っておく必要があります。 図1は、JVM におけるヒープ・メモリの構造を示したものです。この図が示すように、ヒープ・メモリの

    @IT:Javaパフォーマンスチューニング 第3回
  • Java言語規定 スレッド及びロック

    目次| 前| 次 17. スレッド及びロック これまでの記述の大半は,文又は式を,一度に一つ,つまり一つの スレッド(thread) で実行するJavaコードの振舞いだけに関係していたが,Java仮想計算機は,一度に多数のスレッドを実行することができる。 これらのスレッドは,共有主メモリに存在するJavaの値及びオブジェクトを操作するJavaコードを独立して実行する。 複数のスレッドは,複数のハードウェアプロセッサを搭載したり,一つのハードウェアプロセッサを時分割したり,又は複数のハードウェアプロセッサを時分割することによって,実現してもよい。 Javaは,スレッドの並行活動を 同期化する(synchronizing) 機構を提供することによって,並行的だが決定論的な振舞いを示すプログラムを支援する。 スレッドを同期化するために,Javaでは,モニタ(monitor) を使用する。 モニタ

    orangehat
    orangehat 2009/09/27
    ファイルロック
  • http://www.itarchitect.jp/technology_and_programming/-/27082-2.html

  • nextindex.jp

    nextindex.jp 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • Oracle Java Technologies | Oracle

    Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.

  • 用語は正しく覚えよう: システムクラスローダとブートストラップクラスローダ - masugata_kの日記

    ディスカッションの最中、どうも話がかみ合わないと思ったら用語の使い方が間違っていた、ということが時々ある。同じ概念を違う用語で呼んでいる場合はすぐに気づくので問題ない*1が、同じ用語で違う概念を指していると混乱の元凶になる。なので、ちょっと面倒ではあるが、正しい用語を1次情報に当たって確認するクセを付けてほしい。 とまあ偉そうなことを書いたが、僕自身、用語を間違って覚えていて相手を混乱させてしまった経験は枚挙に暇がない。今回もまた1つそんなことがあったので、備忘のためにここに書いておく。 間違って覚えていた用語は「システムクラスローダ (system class loader)」。java.lang.ClassLoader#getSystemClassLoader() で取得できるクラスローダのことだが、実は、JVM が内部的に持っているクラスローディング機構((JVM には、ClassL

    用語は正しく覚えよう: システムクラスローダとブートストラップクラスローダ - masugata_kの日記
  • VM Spec The Structure of the Java Virtual Machine

    Java Language and Virtual Machine Specifications Java SE 23 Released September 2024 as JSR 398 The Java Language Specification, Java SE 23 Edition HTML | PDF Preview feature: Flexible Constructor Bodies Preview feature: Implicitly Declared Classes and Instance main Methods Preview feature: Module Import Declarations Preview feature: Primitive Types in Patterns, instanceof, and switch The Java Virt