Resource Usage Insights
The insights dashboard provides detailed visibility into your workflow resource consumption across all your jobs.Finding Optimization Opportunities
Use the insights dashboard to narrow your jobs down to the best optimization candidates. Jobs that show both low memory and CPU usage are prime candidates for smaller machine shapes.View Peak Memory Usage
- Navigate to GitHub Actions → Insights
- Change the view to Sequential (to see all job values back to back)
- Set breakdown to Job (should be the default)
- Change display to Max Memory Used per Job (Percentage)
This view shows peak memory usage per job, making it easy to spot jobs that over- or under-utilize their allocated RAM.
Filter Out High Memory Usage Jobs
Click Show optimization potential to filter out jobs that hit over 50% memory, leaving only the under-utilized candidates.
This view shows Jobs with less than 50% RAM usage, across all runs.
Analyze CPU Utilization
Now switch the display to p90 CPU per Job (Percentage) to check whether the same jobs also under-utilize their CPU.
The p90 view shows the practical maximum load for 90% of the time, helping ignore short-term spikes.Use Max CPU per Job to see absolute CPU peak across the whole duration.
Manually Remove High-Utilization Jobs
If you have too many jobs to go through, you can further filter out jobs with high CPU usage:
- Use Alt+Shift+Cmd (or Alt+Shift+Ctrl on Windows/Linux) to click on jobs with more than 50% CPU usage, this will filter that job type out
- Keep doing this until you’re only left with jobs under 50% CPU usage
- These are your optimization opportunities
Find over-provisioned jobs
When you have many job runs to sift through, the fastest path is to generate a usage report and let an LLM agent do the analysis, saving you from manually reviewing the dashboard.Generate Usage Report
Use the nsc instance report command to export a CSV of every runner instance for the last 7 days, including the allocated shape and the observed peak CPU and memory usage.
Analyze with Agents
Pair the CSV with your favourite LLM agent to surface candidates for a smaller shape. The following prompt works well as a starting point:PromptBased on GitHub job historical data over the last 7 days obtained via “nsc instance report”, produce a short report of resource optimization opportunities for jobs (for the same job name, consistent low resource usage within a category)
Best Practices
- Regular monitoring: Review insights weekly to identify optimization opportunities
- Baseline performance: Establish performance baselines before making changes
- Gradual optimization: Make incremental changes and measure impact
- Test configurations: Use feature branches to test different machine shapes safely