FixFX

Resource Monitor (resmon)

Comprehensive guide to using the Resource Monitor tool for tracking resource performance and identifying issues.

The Resource Monitor (resmon) is a built-in tool in FiveM that provides real-time monitoring of resource performance. It's essential for identifying performance bottlenecks, memory leaks, and other resource-related issues.

CPU Usage Tracking

Monitor percentage of CPU time used by each resource

Memory Monitoring

Track memory usage per resource and identify memory leaks

Script Execution Time

Measure how long scripts take to execute

Network Usage

Monitor network traffic per resource

Thread Performance

Track active threads and thread execution times

Enabling Resource Monitor

To enable the Resource Monitor, add the following configuration to your server.cfg:

# Enable resource monitoring
setr resmon_enabled 1
setr resmon_interval 1000  # Update interval in milliseconds
setr resmon_history 60     # Number of samples to keep

Accessing the Monitor

Once enabled, you can access the Resource Monitor in-game using the command:

/resmon

Monitor Features

The Resource Monitor provides several key metrics for each resource:

CPU Usage

  • Shows the percentage of CPU time used by each resource
  • Helps identify resource-intensive scripts
  • Displays both current and average CPU usage

Memory Consumption

  • Tracks memory usage per resource
  • Helps identify potential memory leaks
  • Shows both current and peak memory usage

Script Execution Time

  • Measures the time taken by scripts to execute
  • Helps identify slow-performing scripts
  • Displays both current and average execution times

Network Usage

  • Monitors network traffic per resource
  • Tracks incoming and outgoing data
  • Helps identify network-intensive resources

Thread Performance

  • Shows the number of active threads per resource
  • Tracks thread execution times
  • Helps identify thread-related issues

Interpreting the Data

Normal Operation

  • CPU usage should be relatively stable
  • Memory usage should not continuously increase
  • Script execution times should be consistent
  • Network usage should match expected patterns

Warning Signs

  • Continuously increasing memory usage
  • Spikes in CPU usage
  • Unusually long script execution times
  • Unexpected network traffic patterns

Best Practices

Monitoring

  • Enable monitoring during development and testing
  • Use appropriate intervals based on your needs
  • Document baseline performance metrics
  • Regularly review monitoring data

Optimization

  • Address high CPU usage resources first
  • Investigate memory leaks immediately
  • Optimize slow-performing scripts
  • Monitor network usage for potential issues

Configuration

  • Adjust monitoring intervals based on server load
  • Set appropriate history length for your needs
  • Enable monitoring only when necessary
  • Consider running on a separate monitoring instance

Common Issues

High CPU Usage

  • Check for infinite loops
  • Review resource-intensive operations
  • Optimize database queries
  • Consider implementing caching

Memory Leaks

  • Review resource cleanup procedures
  • Check for unclosed connections
  • Monitor object creation and destruction
  • Implement proper garbage collection

Slow Script Execution

  • Optimize database operations
  • Review event handling
  • Check for blocking operations
  • Consider implementing async operations

Additional Resources

Regular monitoring helps identify issues before they become critical problems.

High monitoring intervals can impact server performance. Adjust based on your needs.