1. Basics: Principles and Terminology
- What is performance tuning?
- Steps in the tuning process
- Quantifying performance
2. Tools for Obtaining Information
- The sysfs and proc filesystems and the sysctl utility
- System process queues
- The system activity reporter
- Passing parameters to kernel modules
- Generating reports using standard utilties
- Benchmarking
- Monitoring systems with SNMP and MRTG
3. Monitoring the Kernel
- Kernel profiling and OProfile
- Monitoring the kernel with SystemTap
4. Hardware Performance Considerations
- Memory: levels, types
- Cache
- Disk and I/O
5. The CPU: Processes and Scheduling
- Controlling processor speed
- How the Linux kernel schedules processes
- Process priority
- Obtaining processor performance information
6. Memory
- How Processes and the kernel utilize memory
- System tunables that affect memory performance
- How page and buffer caches work
- Monitoring and controlling memory usage
- The virtual memory subsystem
7. The I/O Subsystem and Filesystems
- Tuning the disk I/O subsystem
- I/O scheduling
- The virtual file system
- File system tunable parameters
- Layout of the ext2 and ext3 filesystems
- Journaling
8. Network Performance
- Factors affecting performance
- Viewing device information
- Ethernet channel bonding
- Network sockets
- Layers of the OSI model
- TCP tuning
9. Application Tuning
- Causes of performance problems
- Application tuning
- Viewing application behaviors using standard tools
- NFS
- Apache
- Samba
Important Note:
For developers or candidates with a strong programming background in C, we offer RHD236 Red Hat Enterprise Linux Kernal Internals. The focus of this course is gaining a better overall understanding of how the Linux kernel works. Attendees in this course will examine the actual code that comprises the Linux kernel. This course contains numerous challenging lab exercises that require the ability to both read and write C code.