Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

楽して JVM を学びたい #jjug

18,069 views

Published on

JJUG ナイト・セミナー 「ビール片手にLT&納涼会」発表スライドです。
答えはソースで!

Published in: Technology
  • Be the first to comment

楽して JVM を学びたい #jjug

  1. 1. 楽して JVM を学びたい KUBOTA Yuji @sugarlife 1
  2. 2. KUBOTA Yuji / @sugarlife ● IcedTea committer (HeapStats) ● OpenJDK (icedtea) サポート ● JavaOne2014 で喋る予定! ● 難聴なので右耳しか聞こえません。 2
  3. 3. JVM 面倒&面妖 3
  4. 4. 面倒見る必要がぼちぼちある ● トラブルシューティング ● パフォーマンスチューニング ● セキュリティアップデート 4
  5. 5. JVMを学ぶ必要がある どうやって? 5
  6. 6. 知の高速道路例 ●先達の知見 ●書籍、blog ●Oracle ドキュメント 6
  7. 7. 最終的には 諦めてソースを読む 7
  8. 8. ソースを… http:// hg.openjdk.java.net /jdk9/jdk9 8
  9. 9. 読む? *java:6421987行 *cpp:723728行 *hpp:223818行 9
  10. 10. 迷宮 水先案内人が欲しい 10
  11. 11. 諦めよう 11 案内人は居なかった
  12. 12. 私の諦め方 基本や最悪な事象を 軸に調べていく 12
  13. 13. 1.メモリ 問題が起きやすいのは メモリ回り 13
  14. 14. 1.メモリ Xmx / Xms でメモリ 確保量を指定している 14
  15. 15. 1.メモリ JVMはどのタイミング でどうやって確保して いる? 15
  16. 16. 問題 1 Xmx / Xms は同値か 別値、どちらが良い? 16
  17. 17. 2. GC 最悪の敵 17
  18. 18. 2. GC Stop The World 18
  19. 19. 2. GC CMS GC は アプリ ケーションスレッドを 動かしつつ GC スレッ ドを動かしている19
  20. 20. 2. GC でも止まる。 20
  21. 21. 問題 2 STWが発生するフェー ズはどこか、どうやっ て止めているか 21
  22. 22. 1 と 2 の関連 1. のメモリ確保周りの処 理に失敗した場合に GC が起動される。そこから 辿れる。 22
  23. 23. 3. Full GC 最悪の敵 その2 23
  24. 24. 3. Full GC CMS GC でも発生す る。なんで? 24
  25. 25. 3. Full GC Oracle Documentに よるとConcurrent mode failure らしい 25
  26. 26. 問題 3 Concurrent mode failure の発生条件は 何か。その後何が起動 されるか。 26
  27. 27. 2 と 3 の関連 2.で調べてる最中にある 27
  28. 28. 少しずつ メモリ回りから自分の 地図を広げていく 28
  29. 29. そしてどうなった 五里霧中 29
  30. 30. 諦め方を 是非共有し合いたい 平和な時に諦めた方が良い 30
  31. 31. おまけ 1. XmxとXmsは同値の方が、 mallocのコストが安い。 2. Initial-markとRemark。" 3. CMS回ってる時にCMSが再 び呼び出された時。31

×