2 videos 📅 2024-12-02 09:00:00 Africa/Blantyre
23:13
2024-12-04 09:19:26
1:05
2024-12-06 12:27:03

Course recordings on DaDesktop for Training platform

Visit NobleProg websites for related course

Summary

Overview

This course segment provides an in-depth overview of system performance monitoring tools on Windows and Linux environments. It covers key metrics such as CPU usage, memory allocation, disk I/O, network activity, and process behavior, with practical emphasis on using Windows Performance Monitor (perfmon) and Linux’s vmstat and nmon tools. The session includes explanations of real-time and logged data collection, threshold setting, interpretation of performance counters, and identification of performance bottlenecks. A personal anecdote about dental pain and painkillers interrupts the technical content but does not contribute to the instructional material.


Topic (Timeline)

1. Introduction to System Monitoring Concepts [00:00:17 - 00:02:31]

  • Instructor begins with troubleshooting context, referencing a user’s machine and connectivity issue.
  • Mentions that “the rest won’t make sense” without proper setup, implying prerequisite steps were omitted or assumed.
  • Confirms the session focuses on advanced SQL and system performance monitoring, though SQL is not further discussed.
  • Transition into monitoring tools begins with acknowledgment of installation delays.

2. Windows Performance Monitoring (perfmon) [00:02:34 - 00:12:52]

  • Introduces Windows Performance Monitor (perfmon) as the primary tool for real-time and logged system performance data.
  • Key monitored metrics:
    • CPU usage
    • Memory usage
    • Disk I/O
    • Network activity
    • Temperature (as an example of non-standard but critical metrics)
  • Notes that temperature monitoring is often delegated to data center teams but can impact server stability.
  • Mentions customizable counters and data logging capabilities.
  • Instructor skips detailed setup steps, focusing on conceptual understanding.

3. Linux Monitoring Tools: nmon and vmstat [00:12:53 - 00:23:08]

  • Introduces nmon (IBM-developed) for Linux:
    • Supports real-time monitoring with graphical and textual output.
    • Can log data to files for later analysis.
    • Monitors CPU, memory, disk, network, and system processes.
    • Allows configuration of logging intervals and duration (e.g., log every 60 seconds for 720 intervals = 12 hours).
  • Focus shifts to vmstat as the primary tool for detailed resource analysis:
    • CPU metrics:
    • User time (%us)
    • System/kernel time (%sy)
    • I/O wait time (%wa)
    • Idle time (%id)
    • Hardware/software interrupt time
    • Time spent on virtualization-related tasks
    • Memory metrics:
    • Total, used, free memory
    • Shared memory (e.g., from shared libraries)
    • Buffers (block I/O caching)
    • Cache (file system caching)
    • Swap usage
    • I/O metrics:
    • Blocks read (bi) and written (bo)
    • System metrics:
    • Interrupts per second
    • Context switches per second
    • Process metrics:
    • r = processes ready to run
    • b = processes in uninterruptible sleep (waiting for I/O)
    • Swap metrics:
    • si = memory swapped in from disk
    • so = memory swapped out to disk
  • Emphasizes that high I/O wait or kernel time indicates bottlenecks.
  • Notes that vmstat output is similar across tools — core metrics are consistent across platforms.

4. Tool Comparison and Final Notes [00:23:08 - 00:23:13]

  • Concludes that Windows (perfmon) and Linux (nmon, vmstat) tools cover overlapping metrics.
  • States that tool choice depends on user preference and environment.
  • Session ends abruptly after this summary.

Appendix

Key Principles

  • Performance bottlenecks are often indicated by:
    • High %wa (I/O wait) → storage or disk subsystem issues
    • High %sy (system time) → kernel-level inefficiencies or driver issues
    • Low free memory + high swap usage → memory pressure
  • Logging intervals should be tuned to capture anomalies without overwhelming storage (e.g., 60s for 12h = 720 samples).
  • Temperature monitoring is an underutilized but critical metric in physical server environments.

Tools Used

  • Windows: Performance Monitor (perfmon)
  • Linux: nmon, vmstat

Common Pitfalls

  • Ignoring I/O wait as a sign of storage latency.
  • Assuming “free memory” = healthy; ignoring cache/buffer usage (which is normal and beneficial).
  • Not logging data over time, making it impossible to correlate performance issues with events.

Practice Suggestions

  • Run vmstat 1 10 to observe 10 seconds of real-time system stats.
  • Use vmstat -s for detailed statistical breakdowns.
  • Compare perfmon counters with vmstat output on identical workloads to understand cross-platform consistency.
  • Set up automated logging of vmstat or nmon during high-load periods for post-mortem analysis.