Linux Performance Optimization: Red Hat EX442

Video description

9+ Hours of Video Instruction

More than 9 hours of video instruction to help you learn the skills necessary to prepare you for the Red Hat EX442 exam, add to your knowledge base for accomplishing the RHCA, and expand your knowledge of Linux optimization to run a more efficient system.

Linux Performance Optimization includes a complete overview of all that is needed to optimize Performance on Linux servers and desktops from a practical perspective. It starts with a generic introduction to analyzing performance and the tools that are provided to do so. Next, it will discuss different tuning interfaces that exist within the Linux environment. The last part of the course will focus on performance optimization strategies for different types of workload.

The course provides valuable strategies and information about optimization to prepare the viewer for the Red Hat EX442, as well as complimenting their skill set for the RHCA exams. Sander van Vugt, best-selling Red Hat and Linux author, provides thorough demonstrations and whiteboard presentations. A full sample exam walk-through is also provided at the end of the course so you can see in real-time how to approach the exam.

Topics include:

  • Performance Optimization Basics
  • Tuning Essentials
  • Limiting Resource Usage
  • Benchmarking
  • Profiling
  • Tracing
  • Tuning for Small Files
  • Tuning Memory
  • Tuning for CPU-intense Workloads
  • Tuning File Services
  • Database Workload Tuning
  • Tuning Power Usage
  • Tuning Virtualization
  • Sample Exam
  • End-of-module quizzes

About the Instructor

Sander van Vugt is an independent Linux trainer, author and consultant living in the Netherlands. Sander has written numerous books about different Linux related topics, and many articles for Linux publications around the world. Sander has been teaching Red Hat, SUSE and LPI Linux classes since 1994. As a consultant, he is specialized in Linux High Availability solutions and Performance Optimization. More information about Sander is on his website at

Skill Level

  • Intermediate

Learn How To

  • Learn how to understand and analyze Linux performance to determine best optimization methods
  • Learn which parts of the operating system you need to optimize, and the mechanisms in place to do that
  • Optimize Linux performance to manage servers with specific needs

Who Should Take This Course

  • Linux users who are preparing to take the exam for the Red Hat Certificate of Expertise in Performance Tuning (EX442)
  • Anyone who want to learn how to analyze and optimize performance of Linux
  • People looking to go beyond the objectives of the exam‚Äîand beyond Red Hat‚Äîto understand Linux performance
  • People preparing for the RHCA exam 442

Course Requirements

Solid Linux knowledge, preferably having completed one of the following:

  • Red Hat RHCSA Video Course
  • Linux+/LPIC-1 Complete Video Course
  • LFCS Complete Video Course

Lesson descriptions

Lesson 1
Lesson 1, “Performance Optimization Basics,” provides you with an understanding of how to align your business goals with the performance optimization goals of your organization.

Lesson 2
Lesson 2 will address tuning essentials. You'll learn about different queueing techniques, as well as some of the basic elements that the Linux operating system contains to help you optimize performance.

Lesson 3
Lesson 3, “Limiting Resource Usage,” discusses different solutions that Linux includes to limit access to resources, including ulimit, cgroups, and how cgroups are integrated in systemd.

Lesson 4
Lesson 4 tackles the subject of benchmarking. Different benchmarking tools to gather data about your systems performance will be explained, and how to use awk to analyze and filter these data. It also demonstrates how to use plotting and performance co-pilot to present the data in a usable way.

Lesson 5
Profiling is discussed in Lesson 5. Using profiling allows you to gather specific system information from specific parts of your computer. You'll learn how to apply this on kernel, hardware, and storage. You'll also learn how to use perf as a specific profiling solution.

Lesson 6
Tracing is an approach that helps you gather detailed information about any part of the operating system. You'll learn how to trace system calls, as well as library calls, and how to use systemtap for tracing specific parts of the operating system.

Lesson 7
In Lesson 7, “Tuning for Small Files,” you'll learn to understand the I/O workflow and the parts involved. Next, you'll learn how to optimize parts that are essential for small file workloads, such as disk I/O and specific file system properties.

Lesson 8
Tuning memory in Lesson 8 focuses on the optimization of memory. As memory is the vital part for the performance of your server, this might be the most important lesson in this course for you. You'll learn about memory management, and about different solutions that exist for managing process management. You'll also learn how swap plays a role in memory management, and how to handle specific situations related to memory leaks, OOM, and more.

Lesson 9
Lesson 9, “Tuning for CPU-intense Workloads,” involves understanding how the CPU works, and how to work with the different schedulers that are offered by the Linux kernel. It focuses on optimizing the schedulers for your workloads, and you'll also learn how to apply generic techniques such as CPU pinning and interrupt balancing.

Lesson 10
In “Tuning File Services,” you'll learn how to optimize for file services. This involves managing typical file system features, such as journaling, fragmentation and aligning the file system with the disk geometry. We'll also focus on network performance optimization, and you'll learn how to optimize different components that play a role in communication between nodes over the network.

Lesson 11
Lesson 11, “Database Workload Tuning,” discusses how to optimize a server for database usage. This involves managing IPCs, huge pages, and memory over-commitment.

Lesson 12
“Tuning Power Usage” explains how to optimize a Linux system for efficient power usage. You'll learn about some generic power saving strategies, managing power states, and profiling power usage. You'll also learn how to work with cpufreq.

Lesson 13
Lesson 13, “Tuning Virtualization,” covers the optimization of virtual machines. You'll learn how to apply strategies such as CPU pinning, Kernel samepage merging, and cgroups.

Lesson 14
Lesson 14 provides a Sample Exam of the Red Hat EX442. The sample exam is made up of 16 questions. The answers are explained in detail in the sub-lessons.

O’Reilly Media, Pearson IT Certification, and Sander Van Vugt have no affiliation with Red Hat, Inc. The RED HAT and RHCSA trademarks are used for identification purposes only and are not intended to indicate affiliation with or approval by Red Hat, Inc.

Table of contents

  1. Introduction
    1. Linux Performance Optimization: Introduction
  2. Module 1: Performance Tuning Essentials
    1. Module introduction
  3. Lesson 1: Performance Optimization Basics
    1. Learning objectives
    2. 1.1 Understanding Performance Tuning
    3. 1.2 What do you Want to Accomplish?
    4. 1.3 Getting Started
    5. 1.4 Using top to Analyze Performance
  4. Lesson 2: Tuning Essentials
    1. Learning objectives
    2. 2.1 Understanding Queueing
    3. 2.2 Configuring System Tunables
    4. 2.3 Managing Kernal Module Parameters
    5. 2.4 Working with Tuned
    6. 2.5 Managing Custom Tuned Profiles
    7. 2.6 Managing Tuna
  5. Lesson 3: Limiting Resource Usage
    1. Learning objectives
    2. 3.1 Configuring Ulimit Resource Limits
    3. 3.2 Understanding Control Groups
    4. 3.3 Integrating Control Groups in Systemd
    5. 3.4 Managing Systemd cgroups
    6. 3.5 Managing Slices
  6. Module 2: Gathering Performance Data
    1. Module introduction
  7. Lesson 4: Benchmarking
    1. Learning objectives
    2. 4.1 Understanding Benchmarking
    3. 4.2 Understanding Units
    4. 4.3 Using Benchmarking Tools
    5. 4.4 Using awk to Find Relevant Data
    6. 4.5 Getting Performance data with sar
    7. 4.6 Plotting Data
    8. 4.7 Lab: Using gnuplot to show sar data
    9. 4.8 Using Performance Co-Pilot
  8. Lesson 5: Profiling
    1. Learning objectives
    2. 5.1 Understanding the Need for Profiling
    3. 5.2 Understanding What you Need to Know
    4. 5.3 Querying Kernel Information
    5. 5.4 Hardware Profiling Tools
    6. 5.5 Profiling Storage
    7. 5.6 Understanding CPU Cache Usage
    8. 5.7 Profiling CPU Cache Usage
    9. 5.8 Using perf
  9. Lesson 6: Tracing
    1. Learning objectives
    2. 6.1 Understanding Tracing
    3. 6.2 Tracing System and Library Calls
    4. 6.3 Kernel Tracing with ftrace
    5. 6.4 Understanding SystemTap
    6. 6.5 Installing SystemTap
    7. 6.6 Running SystemTap Scripts
    8. 6.7 Running Precompiled SystemTap Modules
  10. Module 3: Tuning Specific Workloads
    1. Module introduction
  11. Lesson 7: Tuning for Small Files
    1. Learning objectives
    2. 7.1 Understanding I/O Flow
    3. 7.2 Understanding Small File Workloads
    4. 7.3 Small File Workloads Demos
    5. 7.4 Optimizing Disk I/O
    6. 7.5 Selecting the Best Filesystem
    7. 7.6 Managing Journaling Options
    8. 7.7 Tuning a Mailserver Workload
  12. Lesson 8: Tuning Memory
    1. Learning objectives
    2. 8.1 Understanding Memory Management
    3. 8.2 Managing Process Memory
    4. 8.3 Finding Memory Leaks
    5. 8.4 Using Swap and Cache
    6. 8.5 Managing Memory Reclamation
    7. 8.6 Managing OOM
    8. 8.7 Managing NUMA
  13. Lesson 9: Tuning for CPU-intense Workloads
    1. Learning objectives
    2. 9.1 Understanding CPU Features
    3. 9.2 Understanding CPU-bound Tasks
    4. 9.3 Understanding CPU Scheduling
    5. 9.4 Configuring CPU Scheduling
    6. 9.5 CPU Pinning
    7. 9.6 Balancing Interrupts
    8. 9.7 Using Real-time Scheduling
  14. Lesson 10: Tuning File Services
    1. Learning objectives
    2. 10.1 Understanding File Services Tuning
    3. 10.2 Selecting the Right Tuned Profile
    4. 10.3 Managing Fragmentation
    5. 10.4 Managing FS Journal Placement
    6. 10.5 Aligning a File System to the Disk Geometry
    7. 10.6 Understanding Network Performance Challenges
    8. 10.7 Tuning Network Interface Performance
    9. 10.8 Tuning Network Queues
    10. 10.9 Managing TCP- / UDP-related Tunables
    11. 10.10 Managing Network Link Aggregation
  15. Lesson 11: Database Workload Tuning
    1. Learning objectives
    2. 11.1 Understanding Database Server Workload
    3. 11.2 Managing Inter Process Communication (IPC)
    4. 11.3 Managing Huge Pages
    5. 11.4 Overcommitting Memory
  16. Lesson 12: Tuning Power Usage
    1. Learning objectives
    2. 12.1 Using Generic Power-saving Strategies
    3. 12.2 Linux Power Consumption Strategies
    4. 12.3 Understanding Power States
    5. 12.4 Profiling Power Usage
    6. 12.5 Managing cpufreq
  17. Lesson 13: Tuning Virtualization
    1. Learning objectives
    2. 13.1 Using Tuned
    3. 13.2 CPU Pinning
    4. 13.3 Using Kernel Samepage Merging (KSM)
    5. 13.4 Virtual Machines and Cgroups
    6. 13.5 Virtual Machine Storage
  18. Lesson 14: Sample Exam
    1. Learning objectives
    2. 14.1 Questions
    3. 14.2 Collecting Data with sar
    4. 14.3 Analyzing Cache Performance
    5. 14.4 Managing Huge Pages
    6. 14.5 Analyzing File System Performance
    7. 14.6 Managing Swap
    8. 14.7 Optimizing Large Writes
    9. 14.8 Analyzing I/O
    10. 14.9 Analyzing Performance Data
    11. 14.10 Managing Network Buffers
    12. 14.11 Managing User Limitations
    13. 14.12 Managing System Resource Access
    14. 14.13 Analyzing System Cells
    15. 14.14 Managing Shared Memory
    16. 14.15 Managing Kernel Module Options
    17. 14.16 Analyzing Hardware Capabilities
  19. Summary
    1. Linux Performance Optimization: Summary

Product information

  • Title: Linux Performance Optimization: Red Hat EX442
  • Author(s): Sander van Vugt
  • Release date: February 2018
  • Publisher(s): Pearson
  • ISBN: 0134985966