タグ

Javaとヒープに関するtksinodaのブックマーク (4)

  • Tomcatネイティブメモリエラー - 銀の鍵

    Tomcat起動直後に死亡! の記事で、"CompilerThread"が吐き出したjava.lang.OutOfMemoryErrorがJavaヒープ(Javaオブジェクト用のメモリ領域)ではなく、ネイティブヒープ(Cヒープ)によるものであろうと書いた。その時Linuxを再起動したのだけれども、やはりこのエラーは再発する。しかも二種類に増えた。Javaのバージョンは5.0 update 12。 server$ java -version java version "1.5.0_12" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04) Java HotSpot(TM) Server VM (build 1.5.0_12-b04, mixed mode) server$ server$ pwd

  • Tomcat起動直後に死亡! - 銀の鍵

    Tomcatが起動直後に、以下のようなエラーを吐き出して死亡する事件が起こるようになった。使用しているJavaのバージョンはJDK1.5.0 update12(32bit)。 ... 2010/05/31 12:19:13 org.apache.coyote.http11.Http11BaseProtocol start 情報: Coyote HTTP/1.1を http-8080 で起動します 2010/05/31 12:19:13 org.apache.jk.common.ChannelSocket init 情報: JK: ajp13 listening on /0.0.0.0:8009 2010/05/31 12:19:13 org.apache.jk.server.JkMain start 情報: Jk running ID=0 time=0/14 config=nu

  • 「メモリーを意識してみよう」第1回 ヒープがどのくらい使われているかを理解する

    Javaのメモリーはガーベジ・コレクタが管理するため,アプリケーション側ではそれほど気にするありません。しかし,全く気にしないわけにはいかないのも実情です。 小さいアプリケーションでは無頓着であっても構いませんが,大規模になればそうもいってはいられません。使用メモリー量,ガーベジ・コレクション(GC)の頻度,リークの有無などは,できればチェックしておきたい項目です。 Javaではメモリーを複数の領域に分割して管理しています。クラス定義やメソッドなどのデータが格納されるPermanent領域や,インスタンスが割り当てられるヒープなどがあります。このような領域がどのように使用されているかを知ることは,パフォーマンスを考えるうえでもとても重要になります。 ここでは,特にヒープに着目していきたいと思います。 ヒープの使用量を知る まずはヒープの使用量がどのくらいになっているかを調べてみましょう。

    「メモリーを意識してみよう」第1回 ヒープがどのくらい使われているかを理解する
  • Java 入門 | JVM のメモリ構造

    Revised: 2nd/Nov./2003; Since: 26th/Jan./2003 データ・エリア JVM のメモリ構造は、スタックとヒープに大別されます。ヒープ (Heap) は GC の対象で、JVM 起動時に割り当てられる広大な領域です。Java 仮想マシン・スタック (Java Virtual MAchine Stack) はスレッドごとに割り当てられる、メソッド起動ごとにフレーム (Frame) と呼ばれるデータを出し入れする線形のデータ構造です。クラスのインスタンスなどはヒープに格納しますが、インスタンスのような GC 対象となる動的なデータと、クラス構造などの静的なデータは、別の領域に保持し、静的な構造を保持する領域をメソッド・エリア (Method Area) と呼びます。 図:JVM のメモリ構造 Java 仮想マシン・スタック JVM はプロセスの一つとして、O

  • 1