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
なにもわからないところから始めるJVMモニタリング
Search
Yuuki Tsubouchi (yuuk1)
April 07, 2014
Technology
10k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なにもわからないところから始めるJVMモニタリング
JVM Operation Casual Talks
Yuuki Tsubouchi (yuuk1)
April 07, 2014
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
「アラーティング」の話をしよう— SREconや論文等の最先端とのギャップをみる
yuukit
7
2k
SAKURAONE:An Open Ethernet-based AI HPC System And Its Observed Workload Dynamicsin a Single-Tenant LLM Development Environment
yuukit
1
580
AIスーパーコンピュータにおけるLLM学習処理性能の計測と可観測性 / AI Supercomputer LLM Benchmarking and Observability
yuukit
1
1.1k
SREはサイバネティクスの夢をみるか? / Do SREs Dream of Cybernetics?
yuukit
3
690
SREのためのテレメトリー技術の探究 / Telemetry for SRE
yuukit
13
3.8k
AIスパコン「さくらONE」の オブザーバビリティ / Observability for AI Supercomputer SAKURAONE
yuukit
2
1.5k
AIスパコン「さくらONE」のLLM学習ベンチマークによる性能評価 / SAKURAONE LLM Training Benchmarking
yuukit
2
1.3k
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
11
7.5k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
1.9k
Other Decks in Technology
See All in Technology
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
2
2.1k
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
190
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
350
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
230
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
230
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
270
その指示、Bobにしっかり伝わってる?初心者でも即実践できる プロンプト/コンテキスト設計のコツ
muehara
0
110
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
110
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
440
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
830
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
150
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
1
2.2k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
The Curious Case for Waylosing
cassininazir
1
490
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Utilizing Notion as your number one productivity tool
mfonobong
4
570
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
Documentation Writing (for coders)
carmenintech
77
5.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
510
Visualization
eitanlees
152
17k
The Language of Interfaces
destraynor
162
27k
Transcript
ͳʹΘ͔Βͳ͍ͱ͜Ζ͔Β ࢝ΊΔ+7.ϞχλϦϯά
id:y_uuki / @y_uuk1
None
None
✘
✘
PSGI/Plack Devel::NYTProf Devel::KYTProf Starlet Plack::Middleware::ServerStatus::Lite
PSGI/Plack Devel::NYTProf Devel::KYTProf Starlet Plack::Middleware::ServerStatus::Lite
ΠϯλʔωοτΈΔ • http://gihyo.jp/dev/serial/01/jvm-arc ! • http://www.slideshare.net/ChihiroIto1/java-16802525 JavaͲͷΑ͏ʹಈ͘ͷ͔ʙਤղͰΘ͔ΔJVMͷΈ JavaͲͷΑ͏ʹಈ͘ͷ͔ʙεϥΠυͰΘ͔ΔJVMͷΈ
ϝϞϦߏ / GCͷछྨ • Eden, Survivor, Tenured, Permanent… • γϦΞϧGCɺύϥϨϧGCɺίϯΧϨϯτGC
ϩάΛు͘ • http://n-agetsuma.hatenablog.com/entry/2014/03/30/175329 τϥϒϧʹඋ͑ΔJVMΦϓγϣϯ java -Xms?m -Xmx?m -XX:MaxPermSize=?m -Xloggc:/var/log/app/gc.log -XX:+PrintGCDetails
-XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=10M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app -XX:ErrorFile=/var/log/app/jvm_err_pid%p.log
౷ܭใΈΔπʔϧ • jstat • jvmtop • Jolokia (JMX) • much
more…
jstat [y_uuki@hoge]$ sudo jstat -gc 30545 1000 S0C S1C S0U
S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 3072.0 3072.0 0.0 2400.0 343552.0 181900.4 699392.0 125193.0 55808.0 55592.9 719 8.034 0 0.000 8.034 3072.0 3072.0 0.0 2400.0 343552.0 189558.2 699392.0 125193.0 55808.0 55592.9 719 8.034 0 0.000 8.034 3072.0 3072.0 0.0 2400.0 343552.0 291417.5 699392.0 125193.0 55808.0 55592.9 719 8.034 0 0.000 8.034 3072.0 3072.0 0.0 2400.0 343552.0 291423.7 699392.0 125193.0 55808.0 55592.9 719 8.034 0 0.000 8.034 3072.0 3072.0 0.0 2400.0 343552.0 300260.1 699392.0 125193.0 55808.0 55592.9 719 8.034 0 0.000 8.034 3072.0 3072.0 0.0 2400.0 343552.0 300266.3 699392.0 125193.0 55808.0 55592.9 719 8.034 0 0.000 8.034 3072.0 3072.0 0.0 2400.0 343552.0 338223.4 699392.0 125193.0 55808.0 55592.9 719 8.034 0 0.000 8.034 3072.0 3072.0 2513.7 0.0 343552.0 5373.4 699392.0 125337.0 55808.0 55592.9 720 8.041 0 0.000 8.041 3072.0 3072.0 2513.7 0.0 343552.0 14378.4 699392.0 125337.0 55808.0 55592.9 720 8.041 0 0.000 8.041 3072.0 3072.0 2513.7 0.0 343552.0 14381.3 699392.0 125337.0 55808.0 55592.9 720 8.041 0 0.000 8.041 …
jvmtop $ jvmtop.sh <pid> JvmTop 0.8.0 alpha - 21:48:03, amd64,
4 cpus, Linux 3.10.23, load avg 0.30 http://code.google.com/p/jvmtop ! PID 30545: play.core.server.NettyServer ARGS: VMARGS: -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSiz[...] VM: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 1.7.0_51 UP: 7:49m #THR: 41 #THRPEAK: 44 #THRCREATED: 5867 USER: apache GC-Time: 0: 0m #GC-Runs: 892 #TotalLoadedClasses: 10033 CPU: 2.21% GC: 0.00% HEAP: 454m /1019m NONHEAP: 64m / 384m ! TID NAME STATE CPU TOTALCPU BLOCKEDBY 5862 RMI TCP Connection(3)-127.0.0. RUNNABLE 9.20% 0.29% 31 play-scheduler-1 TIMED_WAITING 0.26% 4.43% 5867 JMX server connection timeout TIMED_WAITING 0.24% 0.01% 27 New I/O worker #8 RUNNABLE 0.01% 0.71% 21 New I/O worker #2 RUNNABLE 0.01% 0.75% 22 New I/O worker #3 RUNNABLE 0.01% 0.72% 20 New I/O worker #1 RUNNABLE 0.01% 0.72% 24 New I/O worker #5 RUNNABLE 0.00% 0.72% 26 New I/O worker #7 RUNNABLE 0.00% 0.72% 23 New I/O worker #4 RUNNABLE 0.00% 0.72% Note: Only top 10 threads (according cpu load) are shown!
Jolokia $ curl http://localhost:8778/jolokia/read/java.lang:type=Memory/ NonHeapMemoryUsage {"timestamp":1396794086,"status":200,"request": {"mbean":"java.lang:type=Memory","attribute":"NonHeapMemoryUsage","type":"re ad"},"value":{"max":402653184,"committed":59179008,"init":24576000,"used": 58814424}} -javaagent:/path/to/jolokia-jvm-1.2.0-agent.jar
ՄࢹԽ • Graphite • Sensu • Fluentd • Mackerel •
NewRelic
metrics ࣌ܥྻDB αʔόཧπʔϧ
• sensu / sensu-community-plugins • java/jstat-metrics.py
• fluent-plugin-jstat • fluent-plugin-jolokia
• sensu tcp handler • fluent-plugin-graphite
None
NewRelic -javaagent:/path/to/newrelic.jar
None
Stop The World ʹඋ͑ͯ • ϞχλϦϯάͷΈΛ͔͑ͯΒͷJVM ύϥ ϝʔλνϡʔχϯά
͓·͚
ॻ੶ 2010/03 2011/10 2014/05
Πϯλʔωοτ σϑΥϧτͷΧςΰϦશ෦ফͯ͠ Linux, Kernel, Docker, JVM, Perl, Scala, Graphite, Fluentd,
Sensu, … ͦΕͬΆ͍λάΛొ͠·͘Δ
None
IUUQTNBDLFSFMJP