help wantedlet's documentnew command
Repository metrics
- Stars
- (30,937 stars)
- PR merge metrics
- (Avg merge 7d 5h) (321 merged PRs in 30d)
Description
I found a large list (98) of incredible system monitoring tools for Linux: https://github.com/iovisor/bcc
Every single one of them is written in Python, so argdist.py is the executable (except read-trace which only has a .sh file and netqtop which as a .c file in addition to the .py file).
-
argdist— Display function parameter values as a histogram or frequency count — examples -
bashreadline— Print entered bash commands system wide — examples -
bindsnoop— Trace IPv4 and IPv6bind()system calls (bind()) — examples -
biolatency— Summarize block device I/O latency as a histogram — examples -
biotop— Top for disks: Summarize block device I/O by process — examples -
biosnoop— Trace block device I/O with PID and latency — examples -
bitesize— Show per process I/O size histogram — examples -
bpflist— Display processes with active BPF programs and maps — examples -
btrfsdist— Summarize btrfs operation latency distribution as a histogram — examples -
btrfsslower— Trace slow btrfs operations — examples -
capable— Trace security capability checks — examples -
cachestat— Trace page cache hit/miss ratio — examples -
cachetop— Trace page cache hit/miss ratio by processes — examples -
compactsnoop— Trace compact zone events with PID and latency — examples -
cpudist— Summarize on- and off-CPU time per task as a histogram — examples -
cpuunclaimed— Sample CPU run queues and calculate unclaimed idle CPU — examples -
criticalstat— Trace and report long atomic critical sections in the kernel — examples -
dbslower— Trace MySQL/PostgreSQL queries slower than a threshold — examples -
dbstat— Summarize MySQL/PostgreSQL query latency as a histogram — examples -
dcsnoop— Trace directory entry cache (dcache) lookups — examples -
dcstat— Directory entry cache (dcache) stats — examples -
deadlock— Detect potential deadlocks on a running process — examples -
dirtop— File reads and writes by directory. Top for directories — examples -
drsnoop— Trace direct reclaim events with PID and latency — examples -
execsnoop— Trace new processes viaexec()syscalls — examples -
exitsnoop— Trace process termination (exit and fatal signals) — examples -
ext4dist— Summarize ext4 operation latency distribution as a histogram — examples -
ext4slower— Trace slow ext4 operations — examples -
filelife— Trace the lifespan of short-lived files — examples -
fileslower— Trace slow synchronous file reads and writes — examples -
filetop— File reads and writes by filename and process. Top for files — examples -
funccount— Count kernel function calls — examples -
funcinterval— Time interval between the same function as a histogram — examples -
funclatency— Time functions and show their latency distribution — examples -
funcslower— Trace slow kernel or user function calls — examples -
gethostlatency— Show latency forgetaddrinfo/gethostbyname[2] calls — examples -
hardirqs— Measure hard IRQ (hard interrupt) event time — examples -
inject— Targeted error injection with call chain and predicate — examples -
killsnoop— Trace signals issued by thekill()syscall — examples -
klockstat— Traces kernel mutex lock events and display locks statistics — examples -
llcstat— Summarize CPU cache references and misses by process — examples -
mdflush— Trace md flush events — examples -
memleak— Display outstanding memory allocations to find memory leaks — examples -
mountsnoop— Trace mount and umount syscalls system-wide — examples -
mysqld_qslower— Trace MySQL server queries slower than a threshold — examples -
netqtop— Trace and display packets distribution on NIC queues — examples -
nfsslower— Trace slow NFS operations — examples -
nfsdist— Summarize NFS operation latency distribution as a histogram — examples -
offcputime— Summarize off-CPU time by kernel stack trace — examples -
offwaketime— Summarize blocked time by kernel off-CPU stack and waker stack — examples -
oomkill— Trace the out-of-memory (OOM) killer — examples -
opensnoop→ #1576 — Traceopen()syscalls — examples -
pidpersec— Count new processes (via fork) — examples -
profile— Profile CPU usage by sampling stack traces at a timed interval — examples -
readahead— Show performance of read-ahead cach — examples -
reset-trace.sh: Reset the state of tracing. Maintenance tool only — examples -
runqlat— Run queue (scheduler) latency as a histogram — examples -
runqlen— Run queue length as a histogram — examples -
runqslower— Trace long process scheduling delays — examples -
shmsnoop— Trace System V shared memory syscalls — examples -
sofdsnoop— Trace FDs passed through unix sockets — examples -
slabratetop— Kernel SLAB/SLUB memory cache allocation rate top — examples -
softirqs— Measure soft IRQ (soft interrupt) event time — examples -
solisten— Trace TCP socket listen — examples -
sslsniff— Sniff OpenSSL written and readed data — examples -
stackcount— Count kernel function calls and their stack traces — examples -
syncsnoop— Tracesync()syscall — examples -
syscount— Summarize syscall counts and latencies — examples -
tcpaccept— Trace TCP passive connections (accept()) — examples -
tcpconnect— Trace TCP active connections (connect()) — examples -
tcpconnlat— Trace TCP active connection latency (connect()) — examples -
tcpdrop— Trace kernel-based TCP packet drops with details — examples -
tcplife— Trace TCP sessions and summarize lifespan — examples -
tcpretrans— Trace TCP retransmits and TLPs — examples -
tcprtt— Trace TCP round trip time — examples -
tcpstates— Trace TCP session state changes with durations — examples -
tcpsubnet— Summarize and aggregate TCP send by subnet — examples -
tcpsynbl— Show TCP SYN backlog — examples -
tcptop— Summarize TCP send/recv throughput by host. Top for TCP — examples -
tcptracer— Trace TCP established connections (connect(),accept(),close()) — examples -
threadsnoop— List new thread creation — examples -
tplist— Display kernel tracepoints or USDT probes and their formats — examples -
trace— Trace arbitrary functions, with filters — examples -
ttysnoop— Watch live output from a tty or pts device — examples -
ucalls— Summarize method calls or Linux syscalls in high-level languages — examples -
uflow— Print a method flow graph in high-level languages — examples -
ugc— Trace garbage collection events in high-level languages — examples -
uobjnew— Summarize object allocation events by object type and number of bytes allocated — examples -
ustat— Collect events such as GCs, thread creations, object allocations, exceptions and more in high-level languages — examples -
uthreads— Trace thread creation events in Java and raw pthreads — examples -
vfscount— Count VFS calls — examples -
vfsstat— Count some VFS calls, with column output — examples -
virtiostat— Show VIRTIO device IO statistics — examples -
wakeuptime— Summarize sleep to wakeup time by waker kernel stack — examples -
xfsdist— Summarize XFS operation latency distribution as a histogram — examples -
xfsslower— Trace slow XFS operations — examples -
zfsdist— Summarize ZFS operation latency distribution as a histogram — examples -
zfsslower— Trace slow ZFS operations — examples
For reference, I used this script to test if we have each tool documented:
#!/bin/sh
tldrfind() {
for p in "$TLDR_ROOT"/pages*; do
for d in "$p"/*; do
if [ -f "$d"/"$1".md ]; then
echo 1
return 0
fi
done
done
echo 0
return 1
}