Why Attend LISA?
help promote
Get more
Help Promote graphics!
sponsors
usenix conference policies
Solving Problems and Identifying Bottlenecks with strace and truss
Doug Hughes, D. E. Shaw Research, LLC
Doug Hughes, D. E. Shaw Research, LLC
Doug Hughes has a B.E. in Computer Engineering from Penn State University, and has had various positions in computing from G.E. Aerospace, Auburn University College of Engineering, and Global Crossing to his current position at D.E. Shaw Research. He currently leads a small multi-national team that is responsible for all things infrastructure, from the datacenter to clusters, storage, and networking.
author = {Doug Hughes},
title = {Solving Problems and Identifying Bottlenecks with strace and truss},
year = {2015},
address = {Washington, D.C.},
publisher = {USENIX Association},
month = nov
}
Strace and truss are powerful tools that are built in to all modern Linux-, BSD- and Solaris-based systems. These tools can be used as an aid to quickly identify problems. Understanding how to exploit these tools will give attendees the knowledge they need to improve their own and their organization's efficiency.
Those wishing to enhance their diagnostic and troubleshooting skills, learn more about how system calls work, and discover the myriad benefits that come from exploiting programs like strace and truss should attend this tutorial. This will be a strace-focused class, but almost all of the options are equally applicable to truss, and differences between the two will be pointed out. People with Linux, BSD, Solaris, or illumos distribution responsibilities will all benefit.
- What are system calls and how do they work?
- How does strace intercept system calls?
- What sorts of things can and can't you learn using strace?
- Techniques for rapidly identifying bottlenecks or areas for programmatic improvement
- Identifying why some programs are slow or stuck
- Applying statistical analysis techniques for visualization and understanding
- Using an iterative approach for problem decomposition
- How to use strace with multi-process applications like Apache
- Introduction to system calls
- High level system call histograms
- Gathering information from running processes
- Various arguments for strace and when to apply them
- How to narrow in on problem areas
- Decoding system call arguments and data structures
- Using statistics to aid with problem diagnostics
- How to make inferences about areas where strace data is inconclusive
- Dealing with threaded and multi-process programs
connect with us