ページ更新: 2014-12-02 (火) (1569日前)

(2005-06-15 新規作成)

JavaVMに関する情報源と記事

目次

[編集]

記事 #

[編集]

Sun #

[編集]

@IT #

[編集]

Javaパフォーマンスチューニング - @IT #

[編集]

チューニングのためのJavaVM講座 - @IT #

[編集]

IBM developerWorks #

developerWorks Japan : Java technology

[編集]

BEA dev2dev #

[編集]

Hewlett-Packard #

[編集]

CodeZine #

[編集]

Garbage First Garbage Collector (G1GC) #

(2011-11-28, G1GC 関連のブックマークをこの節にまとめた)

G1GC の概要

  • Garbage First Garbage Collector。「G1 GC」と略される。
  • 従来のものより停止時間を短くし、性能も上げることを目指している。
  • Java SE 6 Update14 (2009-05) に試験的に搭載、Update 18(2010-01) で改良された。
    • ただし、この時点では visualvm はG1 GCに対応していない。Java SE 6 Update 18 付属の jvisuamvm と、dev.java.net の visualvm 1.2.2 の2つとも、Java SE 6 Update 18 をG1 GCで動作させると、ヒープのグラフが表示されなかった。
  • Java HotSpot Garbage Collection (2012-11-01 移動先不明)
    • →特徴、G1 GCを用いるための設定(VMのコマンドラインパラメータ)、リンク集
  • JavaOne Technical Sessions - The Garbage-First Garbage Collector - 2008
    • JavaOne Online Technical Sessions - Java SE - 2008
    • The Garbage-First Garbage Collector (PDF)
    • プレゼン資料のPDFあり。全52ページ。
      • p.6〜 G1 GCの特徴
      • p.14〜 G1 GCの動作
      • p.35〜 CBOE シカゴオプション取引所 (→p.3) での実績の説明
      • p.38 Java 1.2のころにGCのチューニングを始めた、young GC、1.4.2でCMSに切り替えた(CMS = Concurrent Mark Sweep Collector)。2005年にSolarisのテストを開始、2006-05にSolaris10/x86に移行、
      • p.43 young GCは最長4秒ごとに発生し、最大6MBを最長100ms以内で処理。CMSは3〜4分ごとに発生、1サイクルの処理に12〜13秒を要した。45〜50秒以内に完了しない場合は、レースに負けてしまう。
      • p.44 CMS GCの所要時間のグラフ
      • p.45 Old Gen GCの発生グラフ
      • p.47 CMSとG1 GCの比較(実績)
      • p.48〜 まとめ

『徹底解剖「G1GC」実装編』:

『徹底解剖「G1GC」 アルゴリズム編』:

Java SE 7 Update 4:

Java SE 6 Update 21

Java SE 6 Update 18

Java SE 6 Update 14

  • Java SE 6 Update 14 Release Notes.
    • Java HotSpot VM 14.0
  • 2009-02-16 Java SE 6 Update 14のEarly Access公開、G1ガーベージコレクタが利用可能に | エンタープライズ | マイコミジャーナル
    • Java HotSpot 14, G1GC (Garbage-First GC)
    • リリースは2009-06-01前後に行われた、と思う。ちなみに、VMのバージョンは11.3-b02 → 14.0-b16になった。
      C:> c:\java\jdk1.6.0_13\bin\java.exe -version
      java version "1.6.0_13"
      Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
      Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)
      
      C:> c:\java\jdk1.6.0_14\bin\java.exe -version
      java version "1.6.0_14"
      Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
      Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
      
      C:> c:\java\jdk1.5.0_18\bin\java -version
      java version "1.5.0_18"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02)
      Java HotSpot(TM) Client VM (build 1.5.0_18-b02, mixed mode, sharing)
      
      C:> c:\java\j2sdk1.4.2_18\bin\java -version
      java version "1.4.2_18"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_18-b06)
      Java HotSpot(TM) Client VM (build 1.4.2_18-b06, mixed mode)
[編集]

G1GC 以外 #

  • Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine
  • Java 2 SE 5.0の時点のガーベッジコレクション処理とチューニングパラメータの説明。
    • (うろ覚え)Javaはこのバージョンから「GCで止める時間の目標値」を設定できるようになった、と思う。-XX:MaxGCPauseMillis=<nnn>
[編集]

#

  • NAKAMURA Minoru's Home Page - Java に関することとか
    • Sun Hotspot VM 1.4.x のコンカレント GC のアルゴリズム / Sun Hotspot VM のパフォーマンスモニタツール jvmstat /
    • Network Attached Processing の Pauseless GC
      • 処理を止めずにGCのためのマーキングを行う。「ポインタ」の下位3ビットが空いてる(64bit境界)をNot-Marked-Through (NMT) bit というタグに転用、 処理が重いので「NMT bit チェック付きロード命令」を用意したプロセッサが必要。
[編集]

書籍 #

[編集]

JAVA PRESS Vol.41 (2005-03-23) #

  • JAVA PRESS Vol.41
    • 特集1「なるほどナットク! JavaVM/GCと上手につきあう方法」