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.8k
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
74
使ってみようLinuxONE Community Cloud/Try-LinuxOne_Community_Cloud
sierraone47
0
560
How to learn IBM Cloud?
sierraone47
0
78
Other Decks in Technology
See All in Technology
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
4.4k
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
1.1k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
820
Digitization部 紹介資料
sansan33
PRO
1
4.5k
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
1
180
安定した基盤システムのためのライブラリ選定
kakehashi
PRO
3
130
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
500
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.3k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.7k
三視点LLMによる複数観点レビュー
mhlyc
0
230
伴走から自律へ: 形式知へと導くSREイネーブリングによる プロダクトチームの信頼性オーナーシップ向上 / SRE NEXT 2025
visional_engineering_and_design
3
460
Featured
See All Featured
Side Projects
sachag
455
42k
4 Signs Your Business is Dying
shpigford
184
22k
What's in a price? How to price your products and services
michaelherold
246
12k
KATA
mclloyd
30
14k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Building Adaptive Systems
keathley
43
2.7k
Facilitating Awesome Meetings
lara
54
6.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
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