Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Eclipse OpenJ9を試してみた/tried-openj9-osc19tk
Search
Shogo OHE
February 22, 2019
Technology
0
1.6k
Eclipse OpenJ9を試してみた/tried-openj9-osc19tk
Eclipse OpenJ9とOpenJDKの簡単に比較、IBM J9と同様の解析が可能か軽く試してみました
(オープンソースカンファレンス 2019 Tokyo/Spring、LT新人戦)
Shogo OHE
February 22, 2019
Tweet
Share
More Decks by Shogo OHE
See All by Shogo OHE
作ってみようTJBot/lets-build-your-tjbot
sierraone47
0
70
使ってみようLinuxONE Community Cloud/Try-LinuxOne_Community_Cloud
sierraone47
0
510
How to learn IBM Cloud?
sierraone47
0
70
Other Decks in Technology
See All in Technology
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
200
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
420
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
Wantedly での Datadog 活用事例
bgpat
1
520
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
490
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.4k
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
210
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
570
Featured
See All Featured
How GitHub (no longer) Works
holman
311
140k
Music & Morning Musume
bryan
46
6.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Into the Great Unknown - MozCon
thekraken
33
1.5k
Scaling GitHub
holman
458
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
A designer walks into a library…
pauljervisheath
204
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Faster Mobile Websites
deanohume
305
30k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Transcript
Eclipse OpenJ9を 試してみた 大江 将悟 <Shogo OHE> Twitter: @SierraOne47 1
2019年2月22日 OSC2019 Tokyo/Spring
概要 2 Oracle JDKの有償化がちょっとした話題になる昨今 Eclipse Foundationが開発しているJDK OpenJ9 JDKをテストしてみました 結論: OpenJ9はいいぞ
https://www.eclipse.org/openj9/
自己紹介 発表者 大江将悟 某SIerの所属 3 つまるところ、メインフレーム屋さん 最近言うところの 「現役のホストのエンジニア」(嘘は言ってない) IBM Zの構築~保守フェーズを担当
z/OS、NW、IMS WebSphere Application Server for z/OS
ちょっと宣伝 4月26日(金) 午後 箱崎・水天宮にて IBM Cloudユーザー会の イベントを開催します http://bmxug.connpass.com 近日受付開始予定 4
Eclipse OpenJ9とは? • Java Virtual Machineの一種でEclipse Foundationが管理 – OpenJDKはOracle(旧Sun) HotSpotベース
• OpenJ9はIBM J9 JVMのオープンソース化 • HotSpotと比較して、J9の方がメモリが少ない、処理が早い という特徴がある(Eclipse Foundationによる実験結果) https://www.eclipse.org/openj9/oj9_performance.html 5
IBM J9とは? • IBMが開発している「認定された」Java VirtualMachine – Notes, DB2, MQ, WebSphere
Application Serverに添付 – WebSphere Application Server 6.1から同梱 • サポートはないが、基本的に無償提供 – IBM Systems製品 AIX, z/Linux, z/OS等 – Linux x86,x64版, Windows x64(Mac版は一般配布されていない) • IBM製品の特徴として問題解析が非常にやりやすい → 製品用の解析ツール(無償)がOpenJ9でも使えるのでは? 6
実験(1) Tomcatを起動してみた(1) 7 USER PID %CPU %MEM VSZ RSS TTY
STAT START TIME COMMAND shogo 3450 8.3 6.1 2384556 93408 pts/0 Sl 00:36 0:04 /home/shogo/jdk8u202-b08_hotspot/bin/java … shogo 3337 8.9 4.4 1716592 67468 pts/0 SLl 00:34 0:05 /home/shogo/jdk8u202-b08_j9/bin/java … Tomcat apache-tomcat-9.0.16.tar.gz OpenJDK(HotSpot) OpenJDK8U-jdk_x64_linux_hotspot_8u202b08.tar.gz OpenJDK(J9) OpenJDK8U-jdk_x64_linux_openj9_8u202b08_openj9-0.12.1.tar.gz Adopt OpenJDK で配布されている JDK 8 update202上でTomcat 9を起動 Tomcatが起動後、しばらく経ったところでps auxで情報を採取 setenv.sh にJAVA_HOMEやJAVA_OPTをセットして検証 メモリ消費は OpenJDKが91MB使用に対して OpenJ9は65MB程度
実験(1) Tomcatを起動してみた(2) 8 TomcatのManager画面で見てみる manager-gui を有効化
実験(1) Tomcatを起動してみた(2) 9 TomcatのManager画面で見てみる メモリプール Type 初期 合計 最大値 使用中
nursery-allocate Heap memory 1.00 MB 1.56 MB 69.56 MB 0.31 MB (0%) nursery-survivor Heap memory 1.00 MB 1.31 MB 58.43 MB 1.31 MB (2%) tenured-LOA Heap memory 0.29 MB 0.74 MB 25.50 MB 0.00 MB (0%) tenured-SOA Heap memory 5.70 MB 14.13 MB 484.50 MB 11.85 MB (2%) JIT code cache Non-heap memory 256.00 MB 256.00 MB -0.00 MB 0.00 MB JIT data cache Non-heap memory 0.00 MB 2.00 MB -0.00 MB 2.00 MB class storage Non-heap memory 0.00 MB 16.03 MB -0.00 MB 15.60 MB miscellaneous non-heap storage Non-heap memory 17.00 MB 20.00 MB -0.00 MB 3.88 MB フリーメモリ:4.26 MB 合計メモリ:17.75 MB 最大メモリ:512.00 MB メモリプール Type 初期 合計 最大値 使用中 Eden Space Heap memory 6.50 MB 10.12 MB 99.75 MB 5.41 MB (5%) Survivor Space Heap memory 0.75 MB 1.25 MB 12.43 MB 0.00 MB (0%) Tenured Gen Heap memory 16.00 MB 25.21 MB 249.37 MB 15.13 MB (6%) Code Cache Non-heap memory 2.43 MB 6.68 MB 240.00 MB 6.64 MB (2%) Compressed Class Space Non-heap memory 0.00 MB 2.37 MB 1024.00 MB 2.08 MB (0%) Metaspace Non-heap memory 0.00 MB 19.37 MB -0.00 MB 18.81 MB フリーメモリ:16.04 MB 合計メモリ:36.59 MB 最大メモリ:361.56 MB OpenJDK OpenJ9 ヒープ戦略が異なるため 1:1対応はしないが OpenJ9のメモリ消費は少ない
IBM Support Assistant (ISA)による分析 • IBM Support Assistant (ISA)はIBMが無償提供している 汎用解析ツール
– V4はEclipseベースのWorkbench (配布終了) – V5はLibertyProfile上で稼働するJavaEE Webアプリ • J9 JVMに対しては、Garbage Collectionの状況可視化 javacore, heapdumpなどの分析が可能 – z/OS上で稼働するSVCDUMPからもheapdumpが回収可能 10
実験(2) Garbage Collection JVM起動時に右記オプションを指定:-verbose:gc -Xverbosegclog:${log_filename} → 得られたXML形式のLOGをIBM Support Assistant –
GCMVにかけてみる 11 GCMV … Garbage Collection and Memory Visualizer メモリの要求が何時何分にあり、 どのように対応したかが解析可能
実験(3) javacoreの分析 OutOfMemory発生時取得されるjavacore, heapdumpを分析してみる ※今回はkill -3 $pid でjavacoreを取得 12 問題発生時点において、
ヒープ領域に展開されていた オブジェクトを解析可能
結論 • OpenJ9は製品版IBM J9とほぼ同じスペック • 運用、解析ノウハウが充実している – developerWorksはじめ、国内外の正式な資料がたくさんある • 少ないメモリでハイパフォーマンス!
– 低価格VPSやRaspberry Piなどで有利 13 OpenJ9はいいぞ
参考資料(役に立つ資料) • IBM Developer (旧 IBM developerWorks) Java SDKだけではなくWebSphere Application
Serverも参考になります – https://www.ibm.com/developerworks/jp/websphere/ – https://www.ibm.com/developerworks/jp/java/ • IBM Support Assistant – http://www-01.ibm.com/software/support/isa/ • PD職人 – https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/PD%20Professional • 書籍: WebSphere Application Server 構築・運用バイブル (技術評論社刊) 14