Suche senden
Hochladen
20171110 fun-tech #5 g1 gc
•
0 gefällt mir
•
281 views
Y
Yu Kitajima
Folgen
Java9でG1GCがデフォルトのGCになったことを踏まえて、GCの基礎的なお話しから、G1GCの特徴などを簡単に記載しています。
Weniger lesen
Mehr lesen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 24
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Crystal 勉強会 #5 in 渋谷 発表資料
Crystal 勉強会 #5 in 渋谷 発表資料
at grandpa
Crystalを触り始めてから起こったこと
Crystalを触り始めてから起こったこと
at grandpa
Task and Time monitoring with Backlog and Toggl
Task and Time monitoring with Backlog and Toggl
Yukiya Hayashi
Shibyra trac#13 前説
Shibyra trac#13 前説
riskrisk
RubyKaigi2011の雰囲気
RubyKaigi2011の雰囲気
Sea Mountain
PhpStormとGrunt.jsで作るCakePHP快適開発環境
PhpStormとGrunt.jsで作るCakePHP快適開発環境
kamiyam .
GDDでPlayNを見てゾクっとしたなど
GDDでPlayNを見てゾクっとしたなど
Takao Sumitomo
JavaとScalaとGroovyと
JavaとScalaとGroovyと
irof N
Empfohlen
Crystal 勉強会 #5 in 渋谷 発表資料
Crystal 勉強会 #5 in 渋谷 発表資料
at grandpa
Crystalを触り始めてから起こったこと
Crystalを触り始めてから起こったこと
at grandpa
Task and Time monitoring with Backlog and Toggl
Task and Time monitoring with Backlog and Toggl
Yukiya Hayashi
Shibyra trac#13 前説
Shibyra trac#13 前説
riskrisk
RubyKaigi2011の雰囲気
RubyKaigi2011の雰囲気
Sea Mountain
PhpStormとGrunt.jsで作るCakePHP快適開発環境
PhpStormとGrunt.jsで作るCakePHP快適開発環境
kamiyam .
GDDでPlayNを見てゾクっとしたなど
GDDでPlayNを見てゾクっとしたなど
Takao Sumitomo
JavaとScalaとGroovyと
JavaとScalaとGroovyと
irof N
今から始めるApache Groovy
今から始めるApache Groovy
Yasuharu Hayami
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
Yasuharu Hayami
マルチスレッド問題の特定と再現に頑張った話
マルチスレッド問題の特定と再現に頑張った話
LINE Corporation
今更GWTで遊ぶぜ!
今更GWTで遊ぶぜ!
Daisuke Kamikawa
JsonSlurperの話
JsonSlurperの話
Yasuharu Hayami
GroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱う
Yasuharu Hayami
GopherJS + Nashorn
GopherJS + Nashorn
Takuya Ueda
非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」
Muyuu Fujita
Java event impression
Java event impression
OgataAyaka
ぼっちーむ開発
ぼっちーむ開発
yowasou
Groovyクイズ(計算編)
Groovyクイズ(計算編)
Yasuharu Hayami
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
parrotstudio
Gitはじめの一歩
Gitはじめの一歩
Ayana Yokota
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Weitere ähnliche Inhalte
Was ist angesagt?
今から始めるApache Groovy
今から始めるApache Groovy
Yasuharu Hayami
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
Yasuharu Hayami
マルチスレッド問題の特定と再現に頑張った話
マルチスレッド問題の特定と再現に頑張った話
LINE Corporation
今更GWTで遊ぶぜ!
今更GWTで遊ぶぜ!
Daisuke Kamikawa
JsonSlurperの話
JsonSlurperの話
Yasuharu Hayami
GroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱う
Yasuharu Hayami
GopherJS + Nashorn
GopherJS + Nashorn
Takuya Ueda
非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」
Muyuu Fujita
Java event impression
Java event impression
OgataAyaka
ぼっちーむ開発
ぼっちーむ開発
yowasou
Groovyクイズ(計算編)
Groovyクイズ(計算編)
Yasuharu Hayami
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
parrotstudio
Gitはじめの一歩
Gitはじめの一歩
Ayana Yokota
Was ist angesagt?
(13)
今から始めるApache Groovy
今から始めるApache Groovy
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
マルチスレッド問題の特定と再現に頑張った話
マルチスレッド問題の特定と再現に頑張った話
今更GWTで遊ぶぜ!
今更GWTで遊ぶぜ!
JsonSlurperの話
JsonSlurperの話
GroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱う
GopherJS + Nashorn
GopherJS + Nashorn
非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」
Java event impression
Java event impression
ぼっちーむ開発
ぼっちーむ開発
Groovyクイズ(計算編)
Groovyクイズ(計算編)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
Gitはじめの一歩
Gitはじめの一歩
Kürzlich hochgeladen
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Kürzlich hochgeladen
(7)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
20171110 fun-tech #5 g1 gc
1.
G1GCのG1とはこれいかに! ~fun-tech meetup #5 出ましたJava9記念
Javaのあれこれ入門編~ (2017/11/10)@kitaji0306
2.
さらっと自己紹介(通称:キタジー) ● 株式会社オープンストリーム ○ ITサービスマネジメント本部 ■
システムライフサイクルマネジメント部 ● Javaエンジニア ○ 一時期 インフラエンジニア ■ OracleのインストールやRACの構築等 ● OORer ○ ONE OK ROCKer ■ ワンオク好き
3.
あじぇんだ ● GCとは ● Javaの主なGC ●
G1GCの特徴 ● まとめ そうだ JJUG CCC 2017 FALL 行こう 2017/11/18(土)
4.
GCとは
5.
GCとは ● ガベージコレクション ● メモリのお掃除やさん ●
JavaはJVMがお掃除やさんをちゃんと雇ってるんです ※画像はgeechsマガジンさんのHPから拝借
6.
もしGCが無かったら ● 掃除しなくてゴミ部屋になっちゃったり ○ メモリーリーク ●
自分でゴミ掃除したらゴミ以外も捨てちゃったり ○ 不具合!!! ● 怖くてゴミ出せない!! ※画像はgeechsマガジンさんのHPから拝借
7.
STW(GCを語る上で外せない言葉) ● Stop the
Worldの略 ● Javaのスレッドが止まる ● アプリケーションが止まる ※画像は。。。
8.
Javaの主なGC
9.
Java(HotSpot)における主なGCの種類 ● シリアルGC ● パラレルGC ●
CMSGC ● G1GC
10.
GCあるある ● GCの種類ってNewとかOldとか世代別のことでしょ? ○ 世代別GCもGCの方式の一つです ●
メジャーGC(Full GC)中はSTWなんでしょ? ○ そうとは限らない ※画像は日本サード・パーティさんの HPから拝借
11.
シリアルGC ● 名前の通りシングルスレッドでGC! ● 32bitでシングルコアのJava8以前ではデフォルト ○
もうそんな環境なかなかないと思いますが。。。 ○ あえて指定しないとお目にかかれないのでは。。。 ● STWが長い ※画像は日本サード・パーティさんの HPから拝借
12.
パラレルGC ● 64bitのJava8以前ではデフォルト ● STWがシリアルGCよりは短い ●
多分、今Javaで一番多く利用されているGCだと ※画像は日本サード・パーティさんの HPから拝借
13.
CMSGC(Java1.4.1から) ● コンカレント・マーク・スイープ ● アプリケーションとGCが同時に動いてる! ●
STWがパラレルよりさらに短い ※画像は日本サード・パーティさんの HPから拝借
14.
コンカレント?マーク?スイープ? ● マーク ○ まだ生きていると思われるオブジェクトにしるし ●
スイープ ○ しるしのないオブジェクトは死亡 ● コンカレント ○ それらを(アプリケーションと)平行してやるよ
15.
G1GC(Java7から) ● Java9からデフォルトのGCとなった ● 詳細は後で説明するよ ※画像は日本サード・パーティさんの
HPから拝借
16.
ここでちょっと寄り道 自分のプロジェクトで はどんなGCが利用さ れているにゃ?
17.
G1GCの特徴
18.
こんな特徴あるよ ● ゴミの多いところを予測して重点処理(収集と圧縮) ● 細かい単位(リージョン)の扱いで断片化しずらい ○
その点がCMSGCが非推奨となった理由? ● STWを最大停止時間で(ある程度)制御 ○ MaxGCPauseMillis(デフォルトは200ms) ※画像は日本サード・パーティさんの HPから拝借
19.
G1GCの光と影 ● 光 ○ STWが短い ■
世界は殆ど止まらない! ○ 大容量ヒープ割り当てのオーバーヘッドが小 ■ 64bitの広大なメモリ空間が効率よく使える! ● 影 ○ 割り当てるメモリが多くないと効果が薄い? ■ マイクロなサービスには不向き!? ○ 処理が細かく多いのでCPU使用率が高くなる ■ アプリケーションのスループットに影響も!?
20.
G1GCの使いどころ ● ヒープサイズが大きい(6GB以上) ● ほぼ一時停止しないでほしい環境(500ms以内) ●
CMSGCやパラレルGCを利用していて下記のような状態 ○ ライブオブジェクトが50%を占める ○ オブジェクトの割当て率、昇格率が大きく変化する ○ STWが0.5秒以上かかる ※オラクルのG1GCのページに指針が出ています
21.
まとめ
22.
GCについて ● Java9を利用するならG1GCのアルゴリズムは抑えよう ● 巨大なヒープを利用しつつ短いSTW万歳 ●
CMSGCサヨウナラ G1GCのG1は細かいゴミ処理を優先した ガベージファースト
23.
それよりも言いたいこと… みなさん 次は是非喋る側に!! 大変な事もあるけど きっと身になります!
24.
ご清聴いただき ありがとうございました!
Jetzt herunterladen