Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon how do I monitor the resource usage of my worker processes
    Laravel resource monitoring Supervisor Laravel Horizon Laravel Pulse custom monitoring worker processes CPU usage memory usage


how do I monitor the resource usage of my worker processes


To monitor the resource usage of your worker processes in Laravel, you can use the following methods:

1. Supervisor Configuration:
- Use Supervisor to manage your worker processes and monitor their resource usage. Supervisor provides real-time monitoring and can restart processes if they fail or exceed resource limits[1][2].

2. Metrics and Monitoring:
- Laravel Horizon provides a robust system for metrics and monitoring. It actively collects and presents detailed information on job execution times, success rates, and failure details. This allows developers to track the status and performance of individual worker processes and identify potential issues[2].

3. Pulse:
- Laravel Pulse is a tool that integrates with Supervisor to monitor and display resource usage by Fly Machines running your Laravel app. It captures CPU, memory, and storage allocations consumed by each machine during the most recent run of the `pulse:check` command[3].

4. Custom Monitoring:
- Implement custom monitoring using tools like `top`, `htop`, or `sysdig` to track CPU and memory usage of your worker processes. This can help identify resource-intensive processes and optimize resource allocation[4].

By using these methods, you can effectively monitor the resource usage of your worker processes and ensure that they are running efficiently and reliably.

Citations:
[1] https://martinjoo.dev/laravel-queues-and-workers-in-production
[2] https://wpwebinfotech.com/blog/laravel-horizon/
[3] https://fly.io/laravel-bytes/laravel-pulse-machines/
[4] https://stackoverflow.com/questions/16897997/laravel-artisan-queues-high-cpu-usage
[5] https://laravel.com/docs/11.x/queues