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
400
Diving into the Details with DTrace! (RubyConf 2016 edition)
trptcolin
2
420
Diving into the Details with DTrace
trptcolin
3
500
Adopting FP: the good, the familiar, and the unknown
trptcolin
0
200
Finding out what's *really* going on, with DTrace!
trptcolin
1
350
Beyond top: Command-Line Monitoring on the JVM (JavaOne 2015)
trptcolin
1
660
ZooKeeper: Wait-free coordination for Internet-scale systems
trptcolin
2
170
Other Decks in Programming
See All in Programming
Global Azure 2025 @ Kansai / Hyperlight
kosmosebi
0
120
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
120
AIコーディングの理想と現実
tomohisa
35
37k
The Missing Link in Angular’s Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
140
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
3
2.1k
Serving TUIs over SSH with Go
caarlos0
0
600
Contribute to Comunities | React Tokyo Meetup #4 LT
sasagar
0
600
Thank you <💅>, What's the Next?
ahoxa
1
590
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
3
540
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
2
2k
Ruby on Railroad: The Power of Visualizing CFG
ydah
0
300
ComposeでWebアプリを作る技術
tbsten
0
130
Featured
See All Featured
Scaling GitHub
holman
459
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.4k
Typedesign – Prime Four
hannesfritz
41
2.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Gamification - CAS2011
davidbonilla
81
5.3k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Become a Pro
speakerdeck
PRO
28
5.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
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