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
71
使ってみようLinuxONE Community Cloud/Try-LinuxOne_Community_Cloud
sierraone47
0
520
How to learn IBM Cloud?
sierraone47
0
70
Other Decks in Technology
See All in Technology
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
240
EMConf JP の楽しみ方 / How to enjoy EMConf JP
pauli
2
150
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
440
東京Ruby会議12 Ruby と Rust と私 / Tokyo RubyKaigi 12 Ruby, Rust and me
eagletmt
3
870
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
11
1.5k
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
7
6.4k
DMMブックスへのTipKit導入
ttyi2
1
110
20250116_自部署内でAmazon Nova体験会をやってみた話
riz3f7
1
100
#TRG24 / David Cuartielles / Post Open Source
tarugoconf
0
580
データ基盤におけるIaCの重要性とその運用
mtpooh
4
490
2025年のARグラスの潮流
kotauchisunsun
0
790
Formal Development of Operating Systems in Rust
riru
1
420
Featured
See All Featured
Facilitating Awesome Meetings
lara
51
6.2k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Six Lessons from altMBA
skipperchong
27
3.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
180
Documentation Writing (for coders)
carmenintech
67
4.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Producing Creativity
orderedlist
PRO
343
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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