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
Beyond top: Command-Line Monitoring on the JVM ...
Search
Colin Jones
February 11, 2016
Programming
0
130
Beyond top: Command-Line Monitoring on the JVM (ClojureRemote)
Colin Jones
February 11, 2016
Tweet
Share
More Decks by Colin Jones
See All by Colin Jones
A Bug's Life: What if `select` is Broken After All?
trptcolin
0
140
Underestimated costs of microservice architectures
trptcolin
3
1.5k
FP vs. OOP: Beyond the Bikeshed
trptcolin
0
410
Diving into the Details with DTrace! (RubyConf 2016 edition)
trptcolin
2
450
Diving into the Details with DTrace
trptcolin
3
510
Adopting FP: the good, the familiar, and the unknown
trptcolin
0
220
Finding out what's *really* going on, with DTrace!
trptcolin
1
360
Beyond top: Command-Line Monitoring on the JVM (JavaOne 2015)
trptcolin
1
670
ZooKeeper: Wait-free coordination for Internet-scale systems
trptcolin
2
180
Other Decks in Programming
See All in Programming
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
520
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1.1k
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
3
390
構造化・自動化・ガードレール - Vibe Coding実践記 -
tonegawa07
0
170
Comparing decimals in Swift Testing
417_72ki
0
160
Reactの歴史を振り返る
tutinoko
1
170
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
160
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
930
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
110
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
350
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
6
1.6k
Featured
See All Featured
It's Worth the Effort
3n
185
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Optimizing for Happiness
mojombo
379
70k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Music & Morning Musume
bryan
46
6.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
790
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Transcript
Beyond top(1) Command-Line Monitoring on the JVM Colin Jones @trptcolin
8th Light
command-line tooling
introspection & serviceability on the JVM
war stories
A long time ago in a startup far, far away…
Things are going pretty well
But strange things are afoot
the server sometimes gets really slow
the team has to manually restart the application server
Pain, frustration, anger
Just the facts
sometimes, things get slow
all requests seem to be affected
the JVM stays up
restart the JVM and everything is fine
What could it be?
Demo
More facts!
what application code was running
constant full GCs
what’s in the heap
What could it be?
None
None
Mystery solved!
Now “just” fix it
idea 1: eliminate the leak
idea 2: eliminate the cache altogether?
idea 3: delete the feature
idea 4: re-think the problem
So we’re good, for now…
Lessons
“it’s slow” could mean lots of things
“high CPU” could mean lots of things
collecting data is crucial in a crisis
reproducing the issue helps me sleep at night
The right tools for the job
Other “right tools for the job”
Learning more
Books Books!
operators are standing by!
Thank you! Colin Jones @trptcolin