openSUSE Leap 42.1

System Analysis and Tuning Guide

An administrator's guide for problem detection, resolution and optimization. Find how to inspect and optimize your system by means of monitoring tools and how to efficiently manage resources. Also contains an overview of common problems and solutions and of additional help and documentation resources.

Publication Date: November 05, 2018
About This Guide
Available Documentation
Documentation Conventions
I Basics
1 General Notes on System Tuning
1.1 Be Sure What Problem to Solve
1.2 Rule Out Common Problems
1.3 Finding the Bottleneck
1.4 Step-by-step Tuning
II System Monitoring
2 System Monitoring Utilities
2.1 Multi-Purpose Tools
2.2 System Information
2.3 Processes
2.4 Memory
2.5 Networking
2.6 The /proc File System
2.7 Hardware Information
2.8 Files and File Systems
2.9 User Information
2.10 Time and Date
2.11 Graph Your Data: RRDtool
3 Analyzing and Managing System Log Files
3.1 System Log Files in /var/log/
3.2 Viewing and Parsing Log Files
3.3 Managing Log Files with logrotate
3.4 Monitoring Log Files with logwatch
3.5 Using logger to Make System Log Entries
III Kernel Monitoring
4 SystemTap—Filtering and Analyzing System Data
4.1 Conceptual Overview
4.2 Installation and Setup
4.3 Script Syntax
4.4 Example Script
4.5 User-Space Probing
4.6 For More Information
5 Kernel Probes
5.1 Supported Architectures
5.2 Types of Kernel Probes
5.3 Kprobes API
5.4 debugfs Interface
5.5 For More Information
6 Hardware-Based Performance Monitoring with Perf
6.1 Hardware-Based Monitoring
6.2 Sampling and Counting
6.3 Installing Perf
6.4 Perf Subcommands
6.5 Counting Particular Types of Event
6.6 Recording Events Specific to Particular Commands
6.7 For More Information
7 OProfile—System-Wide Profiler
7.1 Conceptual Overview
7.2 Installation and Requirements
7.3 Available OProfile Utilities
7.4 Using OProfile
7.5 Using OProfile's GUI
7.6 Generating Reports
7.7 For More Information
IV Resource Management
8 General System Resource Management
8.1 Planning the Installation
8.2 Disabling Unnecessary Services
8.3 File Systems and Disk Access
9 Kernel Control Groups
9.1 Technical Overview and Definitions
9.2 Scenario
9.3 Control Group Subsystems
9.4 Using Controller Groups
9.5 For More Information
10 Automatic Non-Uniform Memory Access (NUMA) Balancing
10.1 Implementation
10.2 Configuration
10.3 Monitoring
10.4 Impact
11 Power Management
11.1 Power Management at CPU Level
11.2 In-Kernel Governors
11.3 The cpupower Tools
11.4 Monitoring Power Consumption with powerTOP
11.5 Special Tuning Options
11.6 Troubleshooting
11.7 For More Information
V Kernel Tuning
12 Tuning I/O Performance
12.1 Switching I/O Scheduling
12.2 Available I/O Elevators
12.3 I/O Barrier Tuning
13 Tuning the Task Scheduler
13.1 Introduction
13.2 Process Classification
13.3 Completely Fair Scheduler
13.4 For More Information
14 Tuning the Memory Management Subsystem
14.1 Memory Usage
14.2 Reducing Memory Usage
14.3 Virtual Memory Manager (VM) Tunable Parameters
14.4 Monitoring VM Behavior
15 Tuning the Network
15.1 Configurable Kernel Socket Buffers
15.2 Detecting Network Bottlenecks and Analyzing Network Traffic
15.3 Netfilter
15.4 Improving the Network Performance with Receive Packet Steering (RPS)
15.5 For More Information
VI Handling System Dumps
16 Tracing Tools
16.1 Tracing System Calls with strace
16.2 Tracing Library Calls with ltrace
16.3 Debugging and Profiling with Valgrind
16.4 For More Information
17 Kexec and Kdump
17.1 Introduction
17.2 Required Packages
17.3 Kexec Internals
17.4 Calculating crashkernel Allocation Size
17.5 Basic Kexec Usage
17.6 How to Configure Kexec for Routine Reboots
17.7 Basic Kdump Configuration
17.8 Analyzing the Crash Dump
17.9 Advanced Kdump Configuration
17.10 For More Information
VII Synchronized Clocks with Precision Time Protocol
18 Precision Time Protocol
18.1 Introduction to PTP
18.2 Using PTP
18.3 Synchronizing the Clocks with phc2sys
18.4 Examples of Configurations
18.5 PTP and NTP
A GNU Licenses
A.1 GNU Free Documentation License

Copyright © 2006–2018 SUSE LLC and contributors. All rights reserved.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled GNU Free Documentation License.

For SUSE trademarks, see All other third party trademarks are the property of their respective owners. A trademark symbol (®, ™ etc.) denotes a SUSE or Novell trademark; an asterisk (*) denotes a third party trademark.

All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its affiliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof.

Print this page