OpenSourceProjects logo
pm2 logo

pm2Node.js Production Process Manager with a built-in Load Balancer.

Node.js Production Process Manager with a built-in Load Balancer.

43,094 stars
2,715 forks
JavaScript
NOASSERTION
command-line
command-line-tool
deploy
load-balancer
monitoring
node
pm2 screenshot

pm2

PM2 is a production process manager for Node.js and Bun applications that keeps your applications alive, enables zero-downtime reloads, and simplifies system administration tasks. With a built-in load balancer and cluster mode support, PM2 helps you run reliable, high-performance applications in production environments.

Key Features

  • Cluster Mode: Built-in load balancer that distributes HTTP/TCP/UDP queries across multiple processes with zero-downtime reloads
  • Process Management: Keep applications alive forever with automatic restart, monitoring, and easy control commands (start, stop, restart, delete)
  • Log Management: Comprehensive logging with multiple output formats (standard, raw, JSON, formatted) and optional log rotation
  • Startup Scripts: Automatic generation of init system startup scripts (systemd, upstart, launchd, rc.d) to keep PM2 and processes alive after server restart
  • Container Support: Dedicated pm2-runtime command for running Node.js applications in Docker with a hardened production environment
  • Terminal Monitoring: Real-time monitoring dashboard and host vitals speedbar directly from the command line

Use Cases

  • Multi-Core Utilization: Leverage all available CPU cores by running multiple process instances with automatic load balancing
  • Zero-Downtime Deployments: Update applications without service interruption using hot reload functionality
  • Server Resilience: Automatically restart failed applications and maintain process state across server restarts
  • Development to Production: Seamlessly manage applications across different environments from local development to containerized production

Who Is It For

PM2 is designed for Node.js and Bun developers, DevOps engineers, and system administrators who need reliable application runtime management. It's ideal for anyone running production applications that require high availability, performance optimization, and simplified operational management.

Trending Open Source Projects