October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk3 min

Strace at LinuxCon Europe 2014: Using System Calls to Understand Linux

Harald König’s LinuxCon Europe 2014 tutorial explains how strace reveals system calls, file access, child processes, and timing—and why traces need careful interpretation.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

At LinuxCon Europe 2014, Harald König’s presentation Use “strace” to Understand Linux showed how to inspect a program’s system calls to discover what it tries to do: which files it opens, which child processes it starts, and where an operation fails. The talk is a useful historical introduction, not a current strace manual; check the documentation for the strace and Linux versions you use before relying on specific options.

What strace shows

strace observes system calls made by a process. A trace line typically records a call, its arguments, and its return value. That can reveal, for example, which configuration files a program tried to read, whether a file-open operation failed, or which process-related calls it made.

As an Amazon Associate I earn from qualifying purchases.

This is evidence of observed system-call activity, not a complete record of everything the program does. Work performed between system calls—including computation in user mode—is not represented as a sequence of calls.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Starting a trace or attaching to a process

König’s 2014 slides demonstrate two basic ways to begin: start a program under strace, or attach to a process that is already running. In the examples below, emacs is the program used in the talk; substitute the target program as appropriate.

  • strace emacs starts the program under tracing.
  • strace -p $(pgrep emacs) attaches to a process selected with pgrep. If more than one matching process exists, verify which process ID you intend to trace.

The exact command-line behavior and permissions depend on the installed strace and system configuration. Consult the local manual with man strace.

Filtering calls and saving output

An unrestricted trace can produce a large volume of output. König demonstrates filtering calls with -e and saving output with -o. For example, a file-operation filter can focus attention on file access when the question is which files a program reads or opens. Filter syntax and available call classes should be checked in the installed version’s manual.

Writing trace output to a file can make it easier to review after reproducing a problem. The presentation also warns that synchronous output and excessive tracing can affect the traced program, so collect only the detail needed to answer the question.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Following child processes

A program may launch other processes to do part of its work. Tracing only the initial process can therefore miss relevant activity in its children. The deck shows -f for following child processes and -ff for following them while writing separate output files per process. Confirm current behavior and output naming in your version’s manual.

Reading timing information

The presentation demonstrates timestamp options -t, -tt, and -ttt, relative timing with -r, and call-duration output with -T. These can help establish when calls occur and which calls take longer, but they do not turn a syscall trace into a complete runtime profile.

König specifically distinguishes time spent inside kernel calls from time spent in user mode between calls. A timestamp associated with syscall entry does not, by itself, say when that call returned. Interpret timing fields according to the installed strace documentation and the question being investigated.

Getting call statistics

The talk also shows -c and -C for call statistics. A summary can help identify which system calls account for a large share of observed call time or activity, while the full trace preserves individual arguments and return values. The slides are historical examples; use the local manual to verify the options’ current output and meaning.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Limitations and operational cautions

Tracing can alter the behavior or timing of the process being observed. The 2014 deck flags ptrace restrictions, tracing SUID programs, publicly readable trace output, and deadlocks as concerns; Brendan Gregg’s separate LinuxCon Europe 2014 performance-tool material also cautions that ptrace-based tracing can impose significant overhead. These are warnings from conference material, not a current benchmark for every workload or system.

  • Trace only what is needed, and consider whether the observation itself could affect a timing-sensitive failure.
  • Protect output files: traces can contain file paths, arguments, and other sensitive details, and the deck specifically warns about publicly readable output.
  • Expect permission or ptrace-policy restrictions when attaching to a process. Do not assume that a privileged or SUID program can be traced normally.
  • If tracing coincides with a hang or deadlock, treat that possibility as a diagnostic complication rather than assuming the trace is a neutral observer.

What the 2014 talk is—and is not

The presentation is a conference tutorial dated 14 October 2014, attributed to Bosch Sensortec. Its examples illustrate a durable diagnostic idea: system-call activity can expose file access, process creation, return errors, and timing around kernel calls. It should not be treated as documentation for current option semantics or as a modern comparison of tracing tools. The deck points readers to man strace, man gdb, man ptrace, and man ltrace; for practical use, begin with the manuals installed for the system being diagnosed.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.