Servers

PM2 tab

Node.js apps kept alive by PM2 — restart them, see why they crashed, make the list survive a reboot.

PM2 keeps Node.js applications running and restarts them when they crash. If your site is built with Node, Next.js, Express or similar, it is probably run by PM2.

If the tab is empty, PM2 is not installed or no apps are registered with it.

The list

ColumnWhat to look at
NameWhat the app is called in PM2
Statusonline is good. stopped or errored is not
RestartsThe most useful number on this page
CPU / MemoryWhat it is using right now
UptimeHow long since it last started
ScriptThe file being run

A restart count in the hundreds or thousands means the app is crashing over and over and PM2 is dutifully restarting it. The site may appear to work because PM2 keeps bringing it back. Read the logs before you restart it again.

Actions

  • Restart — the standard fix after a deployment or a config change. A few seconds of downtime.
  • Stop — take it offline deliberately.
  • Delete — remove the app from PM2's list entirely. It will not come back on its own; you need the original pm2 start command to re-add it.
  • Save — see below.

Save: the one people forget

PM2's list is in memory. If the server reboots, PM2 starts whatever it saved last — not whatever was running.

So after adding, removing or renaming an app, press Save. Otherwise a reboot months later silently brings back an old list, and something that worked yesterday is missing.

Reading logs

Each app's output is in its logs. Errors and crash reasons appear there, and in the files PM2 writes under ~/.pm2/logs/ (readable from the Logs or File manager tabs).

Common situations

SituationWhat to do
Deployed new code, site shows old versionRestart the app
App shows erroredRead its log; usually a missing environment variable or a port already in use
Restarts climbing steadilyThe app is crashing. Read the log, check memory in Monitor
App missing after a rebootSomeone forgot Save
Memory growing all dayA leak. Restarting is a patch, not a fix

There is a guided task — Restart my app — that does this with the assistant and verifies afterwards that the site actually responds. See Guided tasks.

Permissions

Operator and above. Viewers can see the list but cannot restart, and cannot view environment variables. Every action is recorded in the Activity log.