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
440
Diving into the Details with DTrace
trptcolin
3
500
Adopting FP: the good, the familiar, and the unknown
trptcolin
0
210
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
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
190
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
420
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
260
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
810
C++20 射影変換
faithandbrave
0
540
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
GoのGenericsによるslice操作との付き合い方
syumai
3
690
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
180
ReadMoreTextView
fornewid
1
480
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Practical Orchestrator
shlominoach
188
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Navigating Team Friction
lara
187
15k
Thoughts on Productivity
jonyablonski
69
4.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
How GitHub (no longer) Works
holman
314
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
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