Skip to content

Instantly share code, notes, and snippets.

@michaelkarrer81
Last active July 1, 2019 13:49
Show Gist options
  • Save michaelkarrer81/4c3ad896d44b54db5f913d01347f91ba to your computer and use it in GitHub Desktop.
Save michaelkarrer81/4c3ad896d44b54db5f913d01347f91ba to your computer and use it in GitHub Desktop.
[Linux Bash Commands] Basic Bash commands #linux
# Process and Thread commands
strace -p 7577 -f
ps -eLf | grep gl2k | grep 13301
strace -p 13301
perf top
perf record -F 99 -ag -p <pid> -- sleep 10
perf script
DEMO
# PID 1306 MAIN
# PID 12564 - Child that may hang
GL2K
1303
Child PID 9683
# NUMA
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_tuning_and_optimization_guide/sect-virtualization_tuning_optimization_guide-numa-auto_numa_balancing
# https://www.thegeekdiary.com/understanding-automatic-numa-balancing/
# TRANSPARENT HUGE PAGES
# https://access.redhat.com/solutions/46111
# strace -p 14603
Process 14603 attached - interrupt to quit
futex(0x7f5c8e6019d0, FUTEX_WAIT, 14604, NULL
^C <unfinished ...>
Process 14603 detached
-> no more output
# strace -F -p 14603
Process 14603 attached with 8 threads - interrupt to quit
-> + output from all the threads in the process.
As far as I can tell, your bug appears to be 100% cpu on 1 cpu core. This bug is more characterised by less cpu burn as threads sleep when they should be woken ("…thus preventing tasks sleeping forever if wakers don't acknowledge all possible waiters" ), so I would assume that your issue is different (as a starting point) and try to gather more evidence to prove it either way.
run
sudo perf record -F 99 -ag -p <pid> -- sleep 10
sudo perf script
To get some more info on the stacks associated with the cpu burn. The stacks may be corrupted by the jvm preventing perf from reporting something useful with -g, so YMMV, to fix that it's a custom build of openjdk...
Thanks,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment