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.9k
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
83
使ってみようLinuxONE Community Cloud/Try-LinuxOne_Community_Cloud
sierraone47
0
620
How to learn IBM Cloud?
sierraone47
0
87
Other Decks in Technology
See All in Technology
ABEMAのバグバウンティの取り組み
kurochan
1
390
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
170
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
建設DXを支えるANDPAD: 2025年のセキュリティの取り組みと卒業したいセキュリティ
andpad
0
140
既存アプリの延命も,最新技術での新規開発も:WebSphereの最新情報
ktgrryt
0
110
Phase04_ターミナル基礎
overflowinc
0
1.5k
Goのerror型がシンプルであることの恩恵について理解する
yamatai1212
1
290
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
170
エンジニアリングマネージャーの仕事
yuheinakasaka
0
120
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
3
13k
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
440
脳が溶けた話 / Melted Brain
keisuke69
0
270
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Statistics for Hackers
jakevdp
799
230k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
The SEO identity crisis: Don't let AI make you average
varn
0
420
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Speed Design
sergeychernyshev
33
1.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
480
The SEO Collaboration Effect
kristinabergwall1
0
400
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
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