Posts about Linux

  • How setting the TZ environment variable avoids thousands of system calls

    This blog post explains how setting an environment variable can save thousands (or in some cases, tens of thousands) of unnecessary system calls that can be generated by glibc over small periods of time. This has been tested on Ubuntu Precise (12.04) and Ubuntu Xenial (16.04). It likely applies to other flavors of Linux,...

  • Monitoring and Tuning the Linux Networking Stack: Sending Data

    This blog post explains how computers running the Linux kernel send packets, as well as how to monitor and tune each component of the networking stack as packets flow from user programs to network hardware.

  • Illustrated Guide to Monitoring and Tuning the Linux Networking Stack: Receiving Data

    This blog post expands on our previous blog post Monitoring and Tuning the Linux Networking Stack: Receiving Data with a series of diagrams aimed to help readers form a more clear picture of how the Linux network stack works. Free Deb, RPM, RubyGem, Python, & Maven repositories. Sign up! There are no shortcuts when...

  • Monitoring and Tuning the Linux Networking Stack: Receiving Data

    This blog post explains how computers running the Linux kernel receive packets, as well as how to monitor and tune each component of the networking stack as packets flow from the network toward userland programs. UPDATE We’ve released the counterpart to this post: Monitoring and Tuning the Linux Networking Stack: Sending Data. UPDATE Take...

  • The Definitive Guide to Linux System Calls

    This blog post explains how Linux programs call functions in the Linux kernel. It will outline several different methods of making systems calls, how to handcraft your own assembly to make system calls (examples included), kernel entry points into system calls, kernel exit points from system calls, glibc wrappers, bugs, and much, much more....

  • How does ltrace work?

    This blog post explains how ltrace works, internally. This is a great companion post to our previous blog post which describes strace internals.

  • How does strace work?

    This blog post explains how strace works, internally. We’ll examine the ptrace system call, which strace relies on, at the API layer and internally to understand how exactly strace can get information about the system calls being made in a running process. ptrace ptrace is a system call which a program can use to:...