3.6 KiB
3.6 KiB
VS Code Session Limits & Crash Prevention Guide
🚨 Current Issues Identified
1. High Process Count: 38 VS Code processes running
2. Memory Consumption:
- Pylance server: 573MB
- Utility processes: 686MB
- Total: ~1.2GB VS Code memory usage
3. Recent Crashes:
- Renderer process crashes (code: 5)
- File watcher crashes (code: 15)
- Extension host failures
⚙️ Solutions Implemented
1. Optimized Settings (.vscode/settings.json)
- Reduced editor suggestions and hover
- Limited Python analysis depth
- Disabled auto-updates and telemetry
- Configured memory-efficient file watching
2. Session Monitoring (scripts/vscode_session_monitor.sh)
# Check current session status
./scripts/vscode_session_monitor.sh check
# Start continuous monitoring
./scripts/vscode_session_monitor.sh monitor
# Clean up logs and cache
./scripts/vscode_session_monitor.sh cleanup
3. Emergency Management (scripts/vscode_emergency_cleanup.sh)
# Show memory status
./scripts/vscode_emergency_cleanup.sh status
# Light cleanup (recommended during agent iterations)
./scripts/vscode_emergency_cleanup.sh gentle
# Heavy cleanup (when unresponsive)
./scripts/vscode_emergency_cleanup.sh aggressive
# Full restart
./scripts/vscode_emergency_cleanup.sh restart
4. Environment Configuration (.vscode/session_config.env)
Load before starting VS Code:
source .vscode/session_config.env
code .
📊 Agent Session Limits
GitHub Copilot Limits:
- Max Tokens per Request: 4,000
- History Length: 10 conversations
- Request Timeout: 30 seconds
System Resource Limits:
- Memory Warning: When VS Code uses >1.5GB
- Process Limit: Maximum 20 VS Code processes
- Max Session Duration: 2 hours
- Auto Cleanup: Every 30 minutes
Agent Iteration Limits:
- Max Iterations: 50 per session
- Max Edit Size: 10,000 characters
- Timeout per Operation: 3 minutes
🔧 Prevention Strategies
1. Before Long Agent Sessions:
# Clean up first
./scripts/vscode_emergency_cleanup.sh gentle
# Load optimized environment
source .vscode/session_config.env
# Start monitoring
./scripts/vscode_session_monitor.sh monitor &
2. During Agent Iterations:
- Monitor memory with
./scripts/vscode_emergency_cleanup.sh status - Use gentle cleanup if memory >1GB
- Restart VS Code every 2 hours or 50+ operations
3. Warning Signs:
- VS Code becomes slow/unresponsive
- High CPU usage (>80%)
- Memory usage >1.5GB
- More than 30 processes
4. Emergency Actions:
# If VS Code freezes during agent work:
./scripts/vscode_emergency_cleanup.sh aggressive
# If completely unresponsive:
./scripts/vscode_emergency_cleanup.sh full
📈 Monitoring Commands
Resource Monitoring:
# Check memory usage
free -h
# VS Code processes
ps aux | grep code | wc -l
# Memory per process
ps -o pid,ppid,pcpu,pmem,rss,args -C code
Log Analysis:
# Recent crashes
grep "crashed" ~/.config/Code/logs/*/main.log | tail -5
# Copilot requests
find ~/.config/Code/logs -name "*copilot*" -exec tail -10 {} \;
# Extension host status
ps aux | grep extensionHost
🎯 Recommended Workflow
- Before starting: Load session config and monitor
- During agent work: Check status every 15-20 operations
- After 1 hour: Perform gentle cleanup
- After 2 hours: Restart VS Code completely
- If crashes occur: Use emergency cleanup and restart
This configuration should prevent most crashes and provide early warning when limits are approached.