What do you get

Note that you will get immediate access to the 2019 videos of this class. I didn't run a class in 2020  due to all the distractions and had not recovered back to 100% from being ill in 2021. The late 2019 version is the best version of this class!

I am updating and re-recording the entire class right now and will launch it by end of June 2022. If you sign up now, you will get access both to the 2019 and 2022 versions!


Course curriculum

  1. 1
    • Welcome!

    • Next Live Session (US Morning/Europe)

    • Next Live Session (US Evening/APAC)

    • Slides & Scripts

    • Slack & GitHub community access

    • Personal Lab Setup Instructions (optional)

  2. 2
    • 01-01-Introduction-Logistics

    • 01-02-History-Protected-Mode

    • 01-03-System-Calls

    • 01-04-Tracing-System-Calls-Strace

    • 01-05-Getting-Info-System-Calls

    • 01-06-Strace-Examples

    • 01-07-Strace-Trace-Running-Processes

    • 01-08-Demo-Strace-SSH-Logon-Delay

    • 01-09-Demo-Strace-Wrong-Config-File

    • 01-10-Question-App-Tracing-Windows

    • 01-11-Tracing-Library-Calls-Ltrace

    • 01-12-Other-Tracing-Tools-Pros-Cons

    • 01-13-Other-Tools-Sysdig-Demo

    • 01-14-Questions-Ltrace-Strace-Profiling

  3. 3
    • 02-01-Introduction-Thread-State-Analysis

    • 02-02-Processes-Threads-Tasks

    • 02-03-Task-States

    • 02-04-Sampling-Task-States

    • 02-05-CPU-Usage-vs-Waits

    • 02-06-Linux-Process-Snapper

    • 02-07-Application-Profiling-Low-Tech-Tools

    • 02-08-Reading-Stack-Traces

    • 02-09-Demo-Java-Hang-Troubleshooting

    • 02-10-Application-Profiling-FlameGraphs

    • 02-11-Application-CPU-Profiling-Perf

    • 02-12-Java-Profiling-Async-Profiler

    • 02-13-Process-Thread-Creation-Basics

    • 02-14-Parents-Children-Zombies

    • 02-15-System-Load-Average

  4. 4
    • 03-01-File-Descriptors

    • 03-02-Standard-Input-Output-Redirection

    • 03-03-List-Open-Files-Lsof

    • 03-04-Who-Uses-This-File-Fuser

    • 03-05-Following-Socket-Endpoints

    • 03-06-File-Descriptor-Limits-Ulimit

    • 03-07-VFS-Layer-Inode-Dentry

    • 03-08-Comment-Open-RDBMS-Files

    • 03-09-File-System-Caching-Syncing

    • 03-10-Finding-Block-Devices-of-FS

    • 03-11-Measuring-Process-IO-Volume

    • 03-12-Measuring-System-IO-Volume

    • 03-13-Block-Device-IO-Latency-Intro

  5. 5
    • 04-01-Process-Address-Space-Layout

    • 04-02-Dynamically-Loaded-Libraries

    • 04-03-Process-Memory-Usage-Pmap-Top

    • 04-04-Detailed-Memory-Usage-Smaps-Smem

    • 04-05-System-Free-Memory-and-Shortage

    • 04-06-Memory-Shortage-Kswapd

    • 04-07-Memory-Pressure-Levels

    • 04-08-Memory-Scan-Rate-Sar

    • 04-09-Who-Is-Causing-Swapping

  6. 6
    • 05-01-TCP-Networking-Sockets-Intro

    • 05-02-Network-Stack-Protocol-Layers

    • 05-03-Analyzing-Network-Traffic-Wireshark

    • 05-04-Application-OS-Network-Flow

    • 05-05-Establishing-a-TCP-Connection

    • 05-06-Network-Traffic-Reporting-Tools

    • 05-07-Trace-Network-Route-Latency

    • 05-08-Examining-Server-Routing-Tables

    • 05-09-Network-Latency-Layers-Physics

    • 05-10-Application-Latency-Think-Time

    • 05-11-Remote-Application-Latency-Tcpdump

    • 05-12-TCP-Latency-Analysis-Wireshark

    • 05-13-Application-Network-Throughput

    • 05-14-TCP-Throughput-Buffer-Sizing

    • 05-15-Iperf-TCP-Buffer-Throughput-Demo

  7. 7
    • 06-01-Virtual-Memory-Address-Space

    • 06-02-Virtual-Memory-Sharing-Pages

    • 06-03-Multithreaded-Process-Memory

    • 06-04-Question-Process-Heap

    • 06-05-Shared-Memory-Usage

    • 06-06-Page-Size-Considerations-Hugepages

    • 06-07-Virtual-Memory-Pagetables-Lookups

    • 06-08-Demo-Memory-Allocation-Pagefauts

  8. 8
    • 07-01-CPU-Memory-Latency-Introduction

    • 07-02-Measuring-CPU-Efficiency-Perf-Stat

    • 07-03-Superscalar-CPU-Execution

    • 07-04-CPU-Quality-of-Service

    • 07-05-CPU-Time-Stealing-VM-Cloud

    • 07-06-Process-Scheduling-Latency

    • 07-07-Kernel-Tracing-Infrastructure

    • 07-08-Many-Shortlived-Processes

    • 07-09-Question-First-Command-Exec-Slow

    • 07-10-Hardware-Interrupt-Handling

    • 07-11-High-Sys-Interrupt-CPU-Profiling

  9. 9
    • 08-01-Block-IO-Stack-Iostat

    • 08-02-Measuring-Disk-IO-Utilization

    • 08-03-Blocktrace-Block-Device-Latency

    • 08-04-Demo-IO-Contention-Filesystem

    • 08-05-Demo-IO-Sys-CPU-Usage

    • 08-06-IO-Queue-Depth-In-Flight

  10. 10
    • 09-01-Process-State-IPC-Introduction

    • 09-02-Signals-Introduction

    • 09-03-Signals-Types-Uses

    • 09-04-Tracing-Examining-Signals

    • 09-05-Kernel-Locks-Semaphores

    • 09-06-User-Space-Locks-Futexes

    • 09-07-Posix-Advisory-Locks

    • 09-08-Kernel-Ticks-Timers

    • 09-09-Demo-Kernel-Tracing-Sleep-Time

  11. 11
    • 10-01-Process-Crashes-Coredumps

    • 10-02-Process-Killed-Out-of-Memory

    • 10-03-Kernel-Safety-Hang-Comment

    • 10-04-Demo-Kernel-Crash-Dumps

    • 10-05-Other-Hardware-Issues

  12. 12
    • 2022 June morning

    • 2022 July evening (no morning session)

How does this work?

Attending & Logistics

When you sign up, you will immediately get access to the following (for the next 12 months):

  1. Online streamable videos
  2. Training slides, scripts and other material
  3. Invitation to training members-only Slack forum (most active during learning weeks) 


Tanel will separately send you the following (currently the invitations are not fully automated):

  1. Links for downloading training video files for your personal "forever-use"
  2. Invitation to training GitHub community (most active during learning weeks)
  3. Invitation to training follow-up live Q&A webinars with Tanel (during learning weeks) 


You can check the 2022 schedule of learning weeks here:  


More details, terms & conditions and logistics here:


If you have any more questions about the training setup and logistics, you can email Tanel here:



Thanks and See You Soon!