
Master monitoring Linux processes with the ps command, viewing pid, tty, and cpu/memory usage, and using BSD and Unix formats with options like -x, -u, -p, and sorting by memory.
Learn to read top command output, interpret memory and swap usage, and sort processes by memory, pid, or CPU time, with details on pid, user, priority, and resource metrics.
Learn to monitor Linux filesystem usage with lsblk, df -h, du, and findmnt; inspect partitions, mount points, UUIDs, and filesystem types using practical, human-readable outputs.
Master iostat for linux performance by monitoring cpu and device io stats, install sysstat across distros, and use -c, -d, -x, -xd, -k or -m with delays and disk targets.
Explore configuring sar data collection with sa1 and sa2, cron, and sysstat to log cpu, memory, disk, io, and network statistics, plus viewing options for historical data.
Use the dmesg command to view kernel messages and extract hardware details from the ring buffer, including cpu, memory, and network interfaces, with options like -T for readability.
Explore the dmidecode command to retrieve bios, smbios, and hardware details from sysfs on linux, including memory, cpu, types, serial number, manufacturer, and model.
Explore kernel tunables in /proc/sys to customize devices, filesystem, networking, and memory behavior. Changes write to memory immediately and are non-persistent across reboots; labs show making them permanent.
Modify kernel tunables on a running Linux system using in-memory changes, sysctl, and /etc/sysctl.d persistence, and learn to enable icmp echo and adjust tcp memory values.
Persist kernel tunables by creating a .conf file in /etc/sysctl.d, since boot loads these settings and sysctl -p can apply changes; avoid editing vendor files in /usr/lib/sysctl.d.
Practice lab demonstrates debugging a Linux SAS raid setup with the megaraid_sas module, showing how to disable msix via modprobe.d and persist changes by reloading the module.
Configure resource limits with ulimit to control memory and processes, using soft and hard limits stored in /etc/security/limits.conf and viewed with ulimit -a.
Configure persistent ulimit rules with the pam_limits module in /etc/pam.d and create a custom /etc/security/limits.d/db.conf to cap max logins for the db group at 2.
Configure memory accounting and apply a 1 gb memory limit for the county service using system CTM commands. Inspect the systemd controller files to confirm the settings.
Learn how the run queue tracks active CPU processes, how the kernel schedules them by priority, and how to monitor CPU utilization and load averages with top, sar, and uptime.
Understand how Linux memory works, including physical RAM, pages, and swap, and how the swapper moves inactive pages in and out to free memory.
Learn how to identify network issues and packet loss between linux servers using tcpdump and ifconfig, capture logs, analyze rx/tx errors, and collaborate with the network team.
Understand what a process is and how the kernel allocates memory and cpu, then view processes with ps commands and key fields like pid, ppid, cpu, and cmd.
Explore process stats, including R, D, S, T, and Z, to understand running, sleeping, stopped, zombie states, disk I/O issues, and paging with swap.
Discover how to use lsof to identify which processes open specific files, list open files under a directory, and filter by user, process name, or pid for server tuning.
Lab-1 demonstrates using the find command to locate .log files in /home, identify the owner, safely remove them, and locate empty, hidden, or user-owned files such as sverma.
Course Contents
Linux Performance Monitoring & Tuning
Introduction about Performance monitoring in Linux
Monitoring Processes using ps command
Monitoring Processes using top command
Monitoring memory usage
Monitoring File System Usage
GNOME System Monitor
Practice Lab Session
Overview Sysstat Package Utilities
Lab - Iostat command
Lab - mpstat command
Lab - pidstat command
Overview SAR
Advantages of SAR
Lab - SAR
Scheduling tasks with Systemd timer
Monitoring Systems using Cockpit
Monitoring Systems using performance co-pilot
Familiar with various Commands to manage performance issues in Linux Servers
top
vmstat
iostat
free
lsof
tcpdump- Network Packet Analyzer
Following are the Linux performance statistics using sar command.
Collective CPU usage
Individual CPU statistics
Memory used and available
Swap space used and available
Overall I/O activities of the system
Individual device I/O activities
Run queue and load average data
Network statistics
Report sar data from a specific time
Viewing Hardware Resources
Viewing kernel messages using dmesg command
Retrieving CPU Information
Retrieving DMI Information - dmidecode
Retrieving peripheral Information
hwloc & lshw command
Configuring Kernel Tunables
Proc File System
Kernel Tunables
Modifying Kernel Tunables
Modify Kernel Tunables Using Sysctl Command
Modify Kernel Tunables Persistently
Sysfs File System
About Kernel Modules
Practice Lab Session
Overview about tuning profiles
Managing profiles from the command line
Lab Session - Tuning profile
Managing Resource Limits
Limiting System Resources with ulimit
Configuring Persistent ulimit Rules
Practice Lab Session
Setting Limits for Services
Lab - Configure the service with a cgroup
Process Management
Understanding ps commands with custom properties & Nice values etc
Different stats of a process like "D", "S", "T", "Z" etc
Kill commands to terminate the process
Lab
Linux Find Commands
Basic find commands for finding files with names
Find files based on their permissions
Search files based on owners & groups
Find files and directories based on date & time
Find files and directories based on size
Top Running Processes
Command to list out top processes consuming highest memory utilization
Command to list out top processes consuming highest cpu utilization
Lab on lsof - List open files & fuser
lsof command used in many Linux/Unix like system that is used to display list of all the open files and the processes.
Lab on tcpdump- Network Packet Analyzer
For example: number of packets received (transmitted) through the network card, statistics of packet failure etc
Practice Lab Sessions
Practical Lab Session - High CPU Utilization
Practical Lab Session - High Memory Utilization