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
77
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
960
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
170
Geminiとv0による高速プロトタイピング
shinya337
1
270
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.2k
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
250
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
130
PO初心者が考えた ”POらしさ”
nb_rady
0
210
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
310
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
440
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.9k
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
180
AI専用のリンターを作る #yumemi_patch
bengo4com
5
4.3k
Featured
See All Featured
Done Done
chrislema
184
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Why Our Code Smells
bkeepers
PRO
336
57k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Agile that works and the tools we love
rasmusluckow
329
21k
Producing Creativity
orderedlist
PRO
346
40k
Building an army of robots
kneath
306
45k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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