O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 www.sandervanvugt.com.

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.

Table of Contents

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