Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering Performance Analysis with perf
Rating: 4.7 out of 5(31 ratings)
171 students

Mastering Performance Analysis with perf

Become a software performance engineer with perf: learn advanced performance analysis and optimization techniques.
Created byJackie Dinh
Last updated 4/2025
English

What you'll learn

  • Master perf, the official Linux performance analysis tool, for in-depth performance insights.
  • Profile and analyze system and application performance to identify bottlenecks effectively.
  • Use flame graphs to interpret performance data visually.
  • Analyze workload characteristics to uncover performance patterns and optimize software efficiency.
  • Apply production-grade performance troubleshooting techniques to solve issues in live environments.
  • Explore microarchitectural analysis techniques to write efficient code.
  • Monitor kernel activities to extract critical performance data.
  • Create custom performance analyses tailored to specific needs.

Course content

6 sections47 lectures6h 18m total length
  • What You'll Learn4:45
  • Setup and Installation9:07

    Set up a perf development environment on ubuntu 22.04 with kernel 6.5, compile perf from source, install dependencies, and configure perf_exec_path to enable perf scripting and off cpu analysis.

  • Course Materials

Requirements

  • Familiar with Linux operating systems
  • No performance engineering experience needed

Description

Welcome to "Mastering Performance Analysis with perf"—the ultimate course to unlock the full power of Linux's official performance tool, perf. This course is designed to guide you to expert-level performance analysis, equipping you to become a true performance guru in Linux systems.

Developed over two years with extensive revisions, this course delivers essential skills and techniques, ensuring you learn the most effective ways to leverage perf for deep system insights.

Throughout the course, we’ll cover a range of essential tools, methodologies, and technologies, including:

  • Hardware Event Monitoring: Track events like cache misses and branch mispredictions for deeper insights into hardware behavior.

  • System Event Monitoring: Monitor critical system events such as context switches and page faults.

  • Top-Down Microarchitecture Analysis (TMA): Master this technique to write efficient code and maximize CPU performance.

  • Flame Graphs: Learn how to create and interpret flame graphs to pinpoint performance bottlenecks.

  • Linux Tracing Frameworks: Explore tracing tools like tracepoints, kprobes, and uprobes to capture in-depth performance data.

  • Kernel Function Tracking: Gain insights into kernel activities and identify points of failure like segmentation faults.

  • Application Function Tracing: Track application behavior to diagnose and resolve performance issues.

  • Custom Performance Analysis: Learn to design custom analyses, such as calculating function latency.

  • Hands-On Examples: Practice with real-world examples to build practical performance engineering skills.

By the end of this course, you’ll have the confidence to identify, diagnose, and optimize performance issues in your applications and systems as part of your daily work.

Who this course is for:

  • Software engineers working on Linux-based systems need to understand how their applications perform
  • Performance engineers or anyone specifically focused on the performance of software and systems