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
| Column | What to look at |
|---|---|
| Name | What the app is called in PM2 |
| Status | online is good. stopped or errored is not |
| Restarts | The most useful number on this page |
| CPU / Memory | What it is using right now |
| Uptime | How long since it last started |
| Script | The 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 startcommand 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
| Situation | What to do |
|---|---|
| Deployed new code, site shows old version | Restart the app |
App shows errored | Read its log; usually a missing environment variable or a port already in use |
| Restarts climbing steadily | The app is crashing. Read the log, check memory in Monitor |
| App missing after a reboot | Someone forgot Save |
| Memory growing all day | A 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.
