Home / Packages / @claude-code-commands/code-diagnose-slowdown

@claude-code-commands/code-diagnose-slowdown

You are helping the user diagnose system laginess and performance issues.

prpm install @claude-code-commands/code-diagnose-slowdown
2 total downloads

📄 Full Prompt Content

# Diagnose System Slowdown

You are helping the user diagnose system laginess and performance issues.

## Your tasks:

1. **Gather initial information:**
   Ask the user:
   - When did the slowdown start?
   - Is it constant or intermittent?
   - What activities trigger it? (startup, specific applications, general use)
   - Any recent changes? (updates, new software, configuration changes)

2. **Check current system load:**
   - System load averages: `uptime`
   - Detailed load info: `w`
   - Number of processes: `ps aux | wc -l`

3. **CPU analysis:**
   - Real-time CPU usage: `top -b -n 1 | head -20`
   - Per-core CPU usage: `mpstat -P ALL 1 1` (if sysstat installed)
   - Top CPU consumers: `ps aux --sort=-%cpu | head -20`
   - CPU frequency and throttling:
     ```bash
     cat /proc/cpuinfo | grep MHz
     sudo cpupower frequency-info  # if available
     ```
   - Check for thermal throttling:
     ```bash
     sensors  # if lm-sensors installed
     cat /sys/class/thermal/thermal_zone*/temp
     ```

4. **Memory analysis:**
   - Memory usage: `free -h`
   - Detailed memory info: `cat /proc/meminfo`
   - Swap usage: `swapon --show`
   - Top memory consumers: `ps aux --sort=-%mem | head -20`
   - Check for memory leaks or runaway processes
   - OOM (Out of Memory) events: `sudo journalctl -k | grep -i "out of memory"`

5. **Disk I/O analysis:**
   - Disk usage: `df -h`
   - Inode usage: `df -i`
   - I/O statistics: `iostat -x 1 5` (if sysstat installed)
   - Top I/O processes: `sudo iotop -b -n 1 | head -20` (if iotop installed)
   - Check for high disk wait: `top` and look at `wa` (wait) percentage
   - Disk health: `sudo smartctl -H /dev/sda` (for each drive)

6. **Process analysis:**
   - List all running processes: `ps aux`
   - Process tree: `pstree -p`
   - Zombie processes: `ps aux | grep Z`
   - Processes in D state (uninterruptible sleep): `ps aux | grep " D "`
   - Long-running processes: `ps -eo pid,user,start,time,cmd --sort=-time | head -20`

7. **Check for system resource contention:**
   - Context switches: `vmstat 1 5`
   - Interrupts: `cat /proc/interrupts`
   - Check if system is swapping heavily: `vmstat 1 5` (look at si/so columns)

8. **Network issues (can cause perceived slowness):**
   - Network connections: `ss -s`
   - Active connections: `netstat -tunap | wc -l` or `ss -tunap | wc -l`
   - DNS resolution test: `time nslookup google.com`
   - Check for network errors: `ip -s link`

9. **Graphics/Desktop environment (for GUI slowness):**
   - Check X server or Wayland compositor CPU usage
   - GPU usage (if nvidia): `nvidia-smi` or `watch -n 1 nvidia-smi`
   - For AMD: `radeontop` (if installed)
   - Check compositor settings (KDE Plasma on Wayland)
   - Desktop effects CPU usage

10. **Check system logs for errors:**
    - Recent errors: `sudo journalctl -p err -b`
    - Kernel messages: `dmesg | tail -50`
    - System log: `sudo journalctl -xe --no-pager | tail -100`
    - Look for specific issues:
      - Hardware errors
      - Driver issues
      - Service failures
      - Filesystem errors

11. **Check for background services/processes:**
    - List all services: `systemctl list-units --type=service --state=running`
    - Failed services: `systemctl --failed`
    - Check for update managers, indexing services (updatedb, baloo, tracker)
    - Snap services: `snap list` and check for snap updates
    - Flatpak: `flatpak list`

12. **Application-specific checks:**
    If slowness is application-specific:
    - Browser: check extensions, tabs, cache size
    - Database: check for long-running queries
    - IDE: check for indexing, plugins
    - Check application logs: `~/.local/share/applications/` or specific app log locations

13. **Historical data (if available):**
    - Check sar data: `sar -u` (if sysstat/sar configured)
    - Check historical logs: `sudo journalctl --since "1 day ago" -p err`

14. **Analyze and report findings:**
    Categorize issues found:
    - **CPU bottleneck**: High CPU usage, identify culprit processes
    - **Memory bottleneck**: High memory usage, swapping, suggest adding RAM or killing processes
    - **Disk I/O bottleneck**: High wait times, slow disk, suggest SSD upgrade or I/O optimization
    - **Thermal throttling**: High temperatures causing CPU slowdown
    - **Runaway processes**: Specific process consuming excessive resources
    - **Resource leaks**: Memory or handle leaks in specific applications
    - **Background tasks**: Indexing, updates, backups running
    - **Network issues**: DNS problems, slow network affecting system

15. **Provide recommendations:**
    Based on findings, suggest:
    - Kill or restart specific problematic processes
    - Disable unnecessary services
    - Adjust swappiness: `sudo sysctl vm.swappiness=10`
    - Clean up disk space if low
    - Update or reinstall problematic drivers
    - Install missing performance tools (sysstat, iotop, htop)
    - Schedule resource-intensive tasks for off-hours
    - Hardware upgrades (RAM, SSD) if appropriate
    - Investigate and fix application-specific issues
    - Check for and apply system updates
    - Reboot if system has been up for extended period with memory leaks

## Important notes:
- Install missing diagnostic tools if needed (sysstat, iotop, htop, lm-sensors)
- Use sudo for system-level diagnostics
- Be systematic - check CPU, memory, disk, and network in order
- Correlate findings with user's description of when slowness occurs
- Don't immediately kill processes - confirm with user first
- Consider both hardware and software causes

💡 Suggested Test Inputs

Loading suggested inputs...

🎯 Community Test Results

Loading results...