Enviar pesquisa
Carregar
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
•
Transferir como PPTX, PDF
•
2 gostaram
•
1,652 visualizações
K
Kazuyuki Nakamura
Seguir
JavaOne 2016 報告会 @ Tokyo で発表した資料
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 27
Baixar agora
Recomendados
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
hdais
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
オラクルエンジニア通信
MongoDBアプリの実例
MongoDBアプリの実例
Kazuyuki Namba
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
Narimichi Takamura
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
NTT DATA Technology & Innovation
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
Uptime Technologies LLC (JP)
Recomendados
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
hdais
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
オラクルエンジニア通信
MongoDBアプリの実例
MongoDBアプリの実例
Kazuyuki Namba
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
Narimichi Takamura
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
NTT DATA Technology & Innovation
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
Uptime Technologies LLC (JP)
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
kasaharatt
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
Shinya Sugiyama
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Rescale で Singularity を使ってみよう!
Rescale で Singularity を使ってみよう!
Shinnosuke Furuya
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
FD.io VPP事始め
FD.io VPP事始め
tetsusat
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Masahiko Sawada
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
IBM Analytics Japan
Keystone fernet token
Keystone fernet token
Yuki Nishiwaki
Linux女子部 iptables復習編
Linux女子部 iptables復習編
Etsuji Nakai
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
MongoDBの脆弱性診断 - smarttechgeeks
MongoDBの脆弱性診断 - smarttechgeeks
tobaru_yuta
ななめ45°から見たJavaOne
ななめ45°から見たJavaOne
AdvancedTechNight
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
Mais conteúdo relacionado
Mais procurados
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
kasaharatt
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
Shinya Sugiyama
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Rescale で Singularity を使ってみよう!
Rescale で Singularity を使ってみよう!
Shinnosuke Furuya
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
FD.io VPP事始め
FD.io VPP事始め
tetsusat
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Masahiko Sawada
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
IBM Analytics Japan
Keystone fernet token
Keystone fernet token
Yuki Nishiwaki
Linux女子部 iptables復習編
Linux女子部 iptables復習編
Etsuji Nakai
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
MongoDBの脆弱性診断 - smarttechgeeks
MongoDBの脆弱性診断 - smarttechgeeks
tobaru_yuta
Mais procurados
(20)
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
Ethernetの受信処理
Ethernetの受信処理
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Rescale で Singularity を使ってみよう!
Rescale で Singularity を使ってみよう!
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
FD.io VPP事始め
FD.io VPP事始め
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Keystone fernet token
Keystone fernet token
Linux女子部 iptables復習編
Linux女子部 iptables復習編
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
MongoDBの脆弱性診断 - smarttechgeeks
MongoDBの脆弱性診断 - smarttechgeeks
Semelhante a Jdk9で変更になる(かも知れない)jvmオプションの標準設定
ななめ45°から見たJavaOne
ななめ45°から見たJavaOne
AdvancedTechNight
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native Image
Koichi Sakata
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Yuji Kubota
Introduction to GraalVM
Introduction to GraalVM
Koichi Sakata
Pentaho ETL@DevLOVE関西
Pentaho ETL@DevLOVE関西
Hirokazu Tokuno
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Kengo Toda
つぶLT20121215
つぶLT20121215
遼一 杉浦
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
Takahiro YAMADA
JVM! JVM! JVM!
JVM! JVM! JVM!
Masaaki HIROSE
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hack
kimukou_26 Kimukou
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回
Naoyuki Yamada
Programming camp 2008, Codereading
Programming camp 2008, Codereading
Hiro Yoshioka
20120421中国gtug
20120421中国gtug
Yusuke Sato
Programming camp code reading
Programming camp code reading
Hiro Yoshioka
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
griddb
第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料
直久 住川
PyCon APAC 2013 Web Secure Coding
PyCon APAC 2013 Web Secure Coding
Gouji Ochiai
Semelhante a Jdk9で変更になる(かも知れない)jvmオプションの標準設定
(20)
ななめ45°から見たJavaOne
ななめ45°から見たJavaOne
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native Image
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Introduction to GraalVM
Introduction to GraalVM
Pentaho ETL@DevLOVE関西
Pentaho ETL@DevLOVE関西
JVMの中身を可視化してみた
JVMの中身を可視化してみた
つぶLT20121215
つぶLT20121215
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
JVM! JVM! JVM!
JVM! JVM! JVM!
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hack
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回
Programming camp 2008, Codereading
Programming camp 2008, Codereading
20120421中国gtug
20120421中国gtug
Programming camp code reading
Programming camp code reading
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料
PyCon APAC 2013 Web Secure Coding
PyCon APAC 2013 Web Secure Coding
Último
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Último
(12)
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
1.
JDK9で変更になる(かも知れない) JVMオプションの標準設定 Javaone 2016 報告会
@ Tokyo 懇親会LT 2016/10/15
2.
name: “中村 和之”, businessDescription:
[ “R&D (since 2016)”, “技術支援” “新人育成 (until 2015)” ], twitterHandle: “@nakm”
3.
本資料の内容は発表者個人の見解であり、 所属する組織の公式見解ではありません また、JDK9の情報についてもEAの情報であるため、 内容は変更になる可能性があります。 スライドは一部修正して公開する予定です。
4.
JavaOneに初参加した感想 • コードが読めれば、大体なんとかなる • 聞くだけなら •
「聞く+日本語変換+メモ」の並列処理は結構辛い • 話すことは別 • @venkat博士のセッションだけは謎体験だった • 食文化は異文化コミュニケーション • 蟹はおいしい(発表者個人の見解です) • スーツを着るといたたまれない気持ちになる • 毎日まとめ書くのは体力が必要(最終日無理)
5.
JDK9が来年でるよ 何が変わるの?
6.
JDK9が来年でるよ 何が変わるの?
7.
つらい
8.
おれたちエンタープライズ • お客様の環境で動いているコードを正常に動かし続けることが重要 • バージョンアップだけでも一騒動 •
基本的にはソースコード改変せずに動かし続けたい • 影響調査範囲の明確化のため • 大体は互換性があるので、問題ないはず • Project JigsawによりReflectionでprivateを呼び出せなくなるかも問題は割愛
9.
守護りたい • 心配なのは明示的に設定していないJVMオプション • 特にJDK9からはG1GCがデフォルトになるので設定値周りの確認をする とはいえ、細かいチューニング以外の目的で 闇雲にJVMオプションを変更することは個人的に推奨しません。 把握することが大事。
10.
調べてみよう
11.
前提 • OS: Windows
10 Pro • Mem: 16GB • JDK8 -version: java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) • JDK9 -version: java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+138) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+138, mixed mode)
12.
確認方法 java -version -XX:+PrintFlagsFinal -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions 参考:見せてやろうJVMが持つ真のチカラを! JVMのオプションを一覧する方法について。 http://qiita.com/taichi@github/items/7d2bb7d4af7fec8530c3
13.
ArrayAllocatorMallocLimit ConcGCThreads FastTLABRefill G1ConcRefinementThreads G1ConcRefinementThresholdStep G1HeapRegionSize G1RSetRegionEntries G1RSetSparseRegionEntries GCPauseIntervalMillis GCTimeRatio MarkStackSizeMax MarkSweepDeadRatio MaxGCMinorPauseMillis MaxGCPauseMillis MaxHeapFreeRatio MaxNodeLimit MaxRAM MaxVectorSize MinHeapDeltaBytes MinHeapFreeRatio MonitorInUseLists NewSize OldSize ScavengeBeforeFullGC SharedBaseAddress SharedReadOnlySize SharedReadWriteSize StackShadowPages UseG1GC UseMontgomeryMultiplyIntrinsic UseMontgomerySquareIntrinsic UseMulAddIntrinsic UseParallelGC UseParallelOldGC UseSHA UseSHA256Intrinsics UseSquareToLenIntrinsic 設定値が変わっていたJVMオプション(一覧) 37
14.
ArrayAllocatorMallocLimit ConcGCThreads FastTLABRefill G1ConcRefinementThreads G1ConcRefinementThresholdStep G1HeapRegionSize G1RSetRegionEntries G1RSetSparseRegionEntries GCPauseIntervalMillis GCTimeRatio MarkStackSizeMax MarkSweepDeadRatio MaxGCMinorPauseMillis MaxGCPauseMillis MaxHeapFreeRatio MaxNodeLimit MaxRAM MaxVectorSize MinHeapDeltaBytes MinHeapFreeRatio MonitorInUseLists ✔ NewSize OldSize ScavengeBeforeFullGC SharedBaseAddress SharedReadOnlySize SharedReadWriteSize StackShadowPages UseG1GC ✔ UseMontgomeryMultiplyIntrinsic
✔ UseMontgomerySquareIntrinsic ✔ UseMulAddIntrinsic ✔ UseParallelGC UseParallelOldGC UseSHA ✔ UseSHA256Intrinsics ✔ UseSquareToLenIntrinsic ✔ 有効化されたもの(JDK8:FALSE→JDK9:TRUE)✔ 8/37
15.
ArrayAllocatorMallocLimit ConcGCThreads FastTLABRefill ✔ G1ConcRefinementThreads G1ConcRefinementThresholdStep G1HeapRegionSize G1RSetRegionEntries G1RSetSparseRegionEntries GCPauseIntervalMillis GCTimeRatio MarkStackSizeMax MarkSweepDeadRatio MaxGCMinorPauseMillis MaxGCPauseMillis MaxHeapFreeRatio MaxNodeLimit MaxRAM MaxVectorSize MinHeapDeltaBytes MinHeapFreeRatio MonitorInUseLists NewSize OldSize ScavengeBeforeFullGC ✔ SharedBaseAddress SharedReadOnlySize SharedReadWriteSize StackShadowPages UseG1GC UseMontgomeryMultiplyIntrinsic UseMontgomerySquareIntrinsic UseMulAddIntrinsic UseParallelGC
✔ UseParallelOldGC ✔ UseSHA UseSHA256Intrinsics UseSquareToLenIntrinsic 無効化されたもの(JDK8:TRUE→JDK9:FALSE)✔ 4/37
16.
JDK8:TRUE→JDK9:FALSE FastTLABRefill ScavengeBeforeFullGC UseParallelGC UseParallelOldGC JDK8:FALSE→JDK9:TRUE MonitorInUseLists UseG1GC UseMontgomeryMultiplyIntrinsic UseMontgomerySquareIntrinsic UseMulAddIntrinsic UseSHA UseSHA256Intrinsics UseSquareToLenIntrinsic
17.
ArrayAllocatorMallocLimit ✔ ConcGCThreads ✔ FastTLABRefill G1ConcRefinementThreads
✔ G1ConcRefinementThresholdStep ✔ G1HeapRegionSize ✔ G1RSetRegionEntries ✔ G1RSetSparseRegionEntries ✔ GCPauseIntervalMillis ✔ GCTimeRatio MarkStackSizeMax MarkSweepDeadRatio ✔ MaxGCMinorPauseMillis ✔ MaxGCPauseMillis MaxHeapFreeRatio MaxNodeLimit ✔ MaxRAM ✔ MaxVectorSize ✔ MinHeapDeltaBytes ✔ MinHeapFreeRatio ✔ MonitorInUseLists NewSize OldSize ScavengeBeforeFullGC SharedBaseAddress ✔ SharedReadOnlySize SharedReadWriteSize StackShadowPages ✔ UseG1GC UseMontgomeryMultiplyIntrinsic UseMontgomerySquareIntrinsic UseMulAddIntrinsic UseParallelGC UseParallelOldGC UseSHA UseSHA256Intrinsics UseSquareToLenIntrinsic 値が増加したもの(JDK8:VALUE < JDK9:VALUE)✔ 17/37
18.
VARIABLE JDK8 JDK9
RATIO ArrayAllocatorMallocLimit 4,294,967,295 18,446,744,073,709,500,000 429496729700% ConcGCThreads 0 1 G1ConcRefinementThreads 0 4 G1ConcRefinementThresholdStep 0 2 G1HeapRegionSize 0 1,048,576 G1RSetRegionEntries 0 256 G1RSetSparseRegionEntries 0 4 GCPauseIntervalMillis 0 201 MarkSweepDeadRatio 1 5 500% MaxGCMinorPauseMillis 4,294,967,295 18,446,744,073,709,500,000 429496729700% MaxNodeLimit 75,000 80,000 107% MaxRAM 0 137,438,953,472 MaxVectorSize 32 64 200% MinHeapDeltaBytes 524,288 1,048,576 200% MinHeapFreeRatio 0 40 SharedBaseAddress 0 34,359,738,368 StackShadowPages 6 7 117%
19.
ArrayAllocatorMallocLimit ConcGCThreads FastTLABRefill G1ConcRefinementThreads G1ConcRefinementThresholdStep G1HeapRegionSize G1RSetRegionEntries G1RSetSparseRegionEntries GCPauseIntervalMillis GCTimeRatio ✔ MarkStackSizeMax ✔ MarkSweepDeadRatio MaxGCMinorPauseMillis MaxGCPauseMillis
✔ MaxHeapFreeRatio ✔ MaxNodeLimit MaxRAM MaxVectorSize MinHeapDeltaBytes MinHeapFreeRatio MonitorInUseLists NewSize ✔ OldSize ✔ ScavengeBeforeFullGC SharedBaseAddress SharedReadOnlySize ✔ SharedReadWriteSize ✔ StackShadowPages UseG1GC UseMontgomeryMultiplyIntrinsic UseMontgomerySquareIntrinsic UseMulAddIntrinsic UseParallelGC UseParallelOldGC UseSHA UseSHA256Intrinsics UseSquareToLenIntrinsic 値が減少したもの(JDK8:VALUE > JDK9:VALUE)✔ 8/37
20.
VARIABLE JDK8 JDK9
RATIO GCTimeRatio 99 12 12.1% MarkStackSizeMax 536,870,912 16,777,216 3.1% MaxGCPauseMillis 4,294,967,295 200 0.0% MaxHeapFreeRatio 100 70 70.0% NewSize 88,604,672 1,363,144 1.5% OldSize 177,733,632 5,452,592 3.1% SharedReadOnlySize 16,777,216 10,485,760 62.5% SharedReadWriteSize 16,777,216 10,485,760 62.5%
21.
まとめ • G1GCの設定値周りは自動で設定されている • G1GC一旦試してみるには良い状況 •
JDK8リリース以降導入されたDiagnostics系の設定値が有効化されている • で、コレ一つ一つがどういう影響をアプリケーションにもたらすの? • こまけぇことはいいんだよ(すみません、存じ上げません)
22.
参考情報 • compare JVM
options for public • https://docs.google.com/spreadsheets/d/1W2enGLRz0t7PQ75nZn2QGZb- dyOrsjNflMNQZUyc5Tg/edit#gid=583591202 • 見せてやろうJVMが持つ真のチカラを! JVMのオプションを一覧する方法について。 • http://qiita.com/taichi@github/items/7d2bb7d4af7fec8530c3
23.
以上
24.
ArrayAllocatorMallocLimit✔ ConcGCThreads ✔ FastTLABRefill G1ConcRefinementThreads ✔ G1ConcRefinementThresholdStep
✔ G1HeapRegionSize ✔ G1RSetRegionEntries G1RSetSparseRegionEntries GCPauseIntervalMillis GCTimeRatio MarkStackSizeMax ✔ MarkSweepDeadRatio MaxGCMinorPauseMillis MaxGCPauseMillis MaxHeapFreeRatio MaxNodeLimit MaxRAM MaxVectorSize MinHeapDeltaBytes ✔ MinHeapFreeRatio MonitorInUseLists NewSize ✔ OldSize ✔ ScavengeBeforeFullGC SharedBaseAddress ✔ SharedReadOnlySize ✔ SharedReadWriteSize ✔ StackShadowPages UseG1GC UseMontgomeryMultiplyIntrinsic UseMontgomerySquareIntrinsic UseMulAddIntrinsic UseParallelGC UseParallelOldGC UseSHA UseSHA256Intrinsics UseSquareToLenIntrinsic 型が変わったもの(uintx,intx→size_t) ✔ 12/37
25.
ArrayAllocatorMallocLimit ConcGCThreads ✔ FastTLABRefill G1ConcRefinementThreads ✔ G1ConcRefinementThresholdStep G1HeapRegionSize
✔ G1RSetRegionEntries G1RSetSparseRegionEntries GCPauseIntervalMillis GCTimeRatio MarkStackSizeMax MarkSweepDeadRatio MaxGCMinorPauseMillis MaxGCPauseMillis MaxHeapFreeRatio MaxNodeLimit MaxRAM MaxVectorSize MinHeapDeltaBytes ✔ MinHeapFreeRatio MonitorInUseLists NewSize ✔ OldSize ✔ ScavengeBeforeFullGC SharedBaseAddress SharedReadOnlySize SharedReadWriteSize StackShadowPages UseG1GC ✔ UseMontgomeryMultiplyIntrinsic UseMontgomerySquareIntrinsic UseMulAddIntrinsic UseParallelGC ✔ UseParallelOldGC UseSHA UseSHA256Intrinsics UseSquareToLenIntrinsic 実行時に自動(ergonomic)設定されているもの✔ 8/37
26.
JDK9でドロップされる(っぽい)JVMオプション • 次項
27.
AdaptiveSizePausePolicy G1TraceConcRefinement PrintGCDateStamps
TraceDynamicGCThreads AdjustConcurrency G1TraceEagerReclaimHumongousObjects PrintGCID TraceGCTaskThread BackEdgeThreshold G1TraceStringSymbolTableScrubbing PrintGCTaskTimeStamps TraceGen0Time C1PatchInvokeDynamic G1UseConcMarkReferenceProcessing PrintGCTimeStamps TraceGen1Time CMSCompactWhenClearAllSoftRefs GCLogFileSize PrintHeapAtGC TraceLoaderConstraints CMSDumpAtPromotionFailure JNIDetachReleasesMonitors PrintHeapAtGCExtended TraceMetadataHumongousAllocation CMSFullGCsBeforeCompaction LazyBootClassLoader PrintJNIGCStalls TraceMonitorInflation CMSIncrementalDutyCycle LoopLimitCheck PrintOldPLAB TraceParallelOldGCTasks CMSIncrementalDutyCycleMin MallocVerifyInterval PrintOopAddress TraceRedefineClasses CMSIncrementalMode MallocVerifyStart PrintParallelOldGCPhaseTimes TraceSafepointCleanupTime CMSIncrementalOffset NmethodSweepCheckInterval PrintPLAB TraceSharedLookupCache CMSIncrementalPacing NmethodSweepFraction PrintPromotionFailure UnrollLimitCheck CMSParPromoteBlocksToClaim NumberOfGCLogFiles PrintReferenceGC Use486InstrsOnly CMSPrintEdenSurvivorChunks ParallelGCRetainPLAB PrintStringDeduplicationStatistics UseAltSigs CodeCacheMinimumFreeSpace ParallelGCVerbose PrintTenuringDistribution UseBoundThreads CollectGen0First PreInflateSpin PrintTLAB UseCMSCollectionPassing CreateMinidumpOnCrash PrintAdaptiveSizePolicy RangeLimitCheck UseCMSCompactAtFullCollection DefaultMaxRAMFraction PrintClassHistogramAfterFullGC ReadPrefetchInstr UseCompilerSafepoints DefaultThreadPriority PrintClassHistogramBeforeFullGC ReflectionWrapResolutionErrors UseFastAccessorMethods EnableInvokeDynamic PrintCMSInitiationStatistics SafepointPollOffset UseFastEmptyMethods EnableSharedLookupCache PrintCMSStatistics StarvationMonitorInterval UseGCLogFileRotation FenceInstruction PrintCompressedOopsMode ThreadSafetyMargin UseMemSetInBOT G1LogLevel PrintDTraceDOF TraceBiasedLocking UseOldInlining G1PrintHeapRegions PrintFLSCensus TraceClassLoading UseVMInterruptibleIO G1PrintRegionLivenessInfo PrintFLSStatistics TraceClassLoadingPreorder VerboseVerification G1SummarizeConcMark PrintGCApplicationConcurrentTime TraceClassPaths VerifySilently G1SummarizeRSetStats PrintGCApplicationStoppedTime TraceClassResolution WorkAroundNPTLTimedWaitHang PrintGCCause TraceClassUnloading
Baixar agora