APM - Advanced Process Manager icon
APM - Advanced Process Manager icon

APM - Advanced Process Manager

A language-agnostic process manager for Linux in a single 2.6 MB static binary. It supervises any executable and has a built-in reverse proxy, TLS, rate limiting, zero-downtime rolling restarts, cross-language IPC and a live web GUI, with no runtime dependencies.

GUI and cli list of processes

Cost / License

  • Free
  • Proprietary

Platforms

  • Linux
0likes
0articles
Save

Features

Properties

Features

Highlights All activities

APM - Advanced Process Manager News & Activities

Recent activities

APM - Advanced Process Manager information

AlternativeTo Category

OS & Utilities

Popular alternatives

View all
APM - Advanced Process Manager was added to AlternativeTo by Thomas Webb on and this page was last updated .

No comments or reviews, maybe you want to be first?

Official Links

What is APM - Advanced Process Manager?

APM (Advanced Process Manager) supervises any process on Linux: Node.js, Python, Go, Rust, PHP, Ruby, Java, Bash, or a compiled C++ daemon. If it runs on Linux and writes to stdout, APM can run it, using the same crash recovery, logs, metrics and restart policy for every language, with no wrapper scripts or adapters.

It is a single statically linked Go binary of 2.6 MB. It needs no runtime and no package manager. The daemon idles at around 16 MB of RAM, and because it never shares an event loop with your app, it doesn’t take CPU away from your workers. Installing it means copying one file to /usr/sbin/apm, and your config is one nginx-style file. To migrate a server, you copy those two files.

Several pieces you would normally put in front of your app are built in:

  • Reverse proxy for HTTP, WebSocket, TCP and UDP, with round-robin load balancing across instances.
  • TLS for every listener type, including mutual TLS.
  • Vanguard firewall: token-bucket rate limiting per IP, allow and block lists, path bans, auto-ban, and CDN IP trust.
  • Zero-downtime rolling restarts. APM holds the listening socket and cycles instances behind it one at a time, for any language and not only Node.
  • Live web GUI that ships inside the binary, showing real-time CPU, memory and connection stats.
  • StatsD export to Datadog, InfluxDB, Graphite or any compatible receiver.

Workers can also talk to each other. The built-in IPC gives you broadcast channels, request/reply, and persistent two-way streams, all routed through the daemon. The API is the same across Node.js, Python, PHP, Perl and Lua, and you don’t need Redis or a separate message broker. A Node WebSocket worker can hand a live stream to a Python job, and a PHP request can query a Go service and get a reply in milliseconds.

It also includes tools that make day-to-day operations easier:

  • augur diagnoses boot crashes and lists every missing dependency at once.
  • apm healconf checks your config, explains each problem and offers the fix.
  • Diff-driven reload applies only what changed.
  • Native inotify file watching.
  • Memory limits through cgroups v2.
  • Health checks.
  • HMAC-signed crash webhooks.
  • Parallel boot in dependency waves. A 30-worker fleet starts in 13 s instead of 129 s.

Free to use. Runs on x86_64, ARM64 and ARMv7.