profiling

Diagnose performance bottlenecks by analyzing CPU, memory, and I/O metrics.

50|13|Updated Jan 19, 2026
One-click install
npx skills add https://github.com/chaterm/terminal-skills --skill profiling-chaterm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: profiling
Source: https://github.com/chaterm/terminal-skills/tree/main/performance/profiling
Command: npx skills add https://github.com/chaterm/terminal-skills --skill profiling-chaterm

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps you pinpoint and understand performance issues in your system by providing tools and techniques for CPU, memory, and I/O analysis.

Core Features & Use Cases

  • CPU Profiling: Use perf to record and analyze CPU usage, identify hot spots, and generate flame graphs.
  • System Call Tracing: Employ strace and ltrace to monitor system and library calls made by processes.
  • Memory Analysis: Utilize valgrind, pmap, and smem for memory leak detection, usage statistics, and mapping.
  • System Monitoring: Leverage vmstat, iostat, and pidstat for real-time system and process-level metrics.
  • Use Case: When your application is running slowly, use this skill to generate a flame graph of its CPU activity to identify the functions consuming the most time.

Quick Start

Use the profiling skill to analyze the CPU usage of the process with PID 1234 for 30 seconds and generate a flame graph.

Frequently Asked Questions about profiling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify CPU hot spots in a slow running application?

CPU profiling with perf records process execution samples to identify hot spots. Generating a flame graph visually maps which functions consume the most execution time during slow application performance.

What is the best way to trace system calls made by a specific Linux process?

System call tracing with strace monitors and logs all system and library calls made by a specific Linux process. It captures execution flow to troubleshoot slow applications and pinpoint I/O bottlenecks.

How do I detect memory leaks and analyze memory usage in Linux?

Memory analysis with valgrind, pmap, and smem detects memory leaks and maps process memory usage. These tools provide detailed statistics and mapping to identify memory leaks and optimize resource utilization.

Can I monitor real-time system and process-level I/O metrics with vmstat and iostat?

Yes, vmstat, iostat, and pidstat provide real-time system and process-level I/O metrics. They report continuous visibility into virtual memory, disk, and CPU activity to troubleshoot slow applications and optimize resource utilization.

Does profiling work without installing extra dependencies on my system?

Profiling relies on standard Linux performance tools like perf, strace, valgrind, vmstat, and iostat. While many are included by default, some distributions require installing specific packages to enable full CPU profiling and memory analysis capabilities.