教程 pm2 tutorial

PM2 应用状态

PM2 提供了实时的应用状态监控功能,可以让你轻松查看 Node.js 应用的运行状态。通过 PM2 的状态管理,你可以有效地跟踪应用的资源使用、进程状态以及日志输出,从而及时发现问题并进行处理。

1. 查看应用状态

要查看当前应用的状态,使用 pm2 status 命令。该命令会列出所有正在运行的应用,并显示有关每个应用的详细信息,包括进程 ID、运行状态、内存使用情况、CPU 占用率等。

bash
pm2 status

输出示例:

txt
┌─────┬──────────────┬────────┬───┬──────┬────────┬───┬─────────────┬─────────────┐
│ id  │ name         │ mode   │ ↺ │ status│ cpu    │ memory │ uptime     │
├─────┼──────────────┼────────┼───┼──────┼────────┼───┼─────────────┼─────────────┤
│ 0   │ my-app       │ fork   │ 0 │ online│ 0.5%   │ 50MB  │ 3h          │
└─────┴──────────────┴────────┴───┴──────┴────────┴───┴─────────────┴─────────────┘

在输出中,你可以看到以下列:

  • id: 应用的唯一标识符。
  • name: 应用的名称。
  • mode: 启动模式(fork 或 cluster)。
  • ↺: 应用的重启次数。
  • status: 当前应用的运行状态(如 online 或 stopped)。
  • cpu: 应用使用的 CPU 百分比。
  • memory: 应用使用的内存量。
  • uptime: 应用的运行时长。

2. 查看单个应用的详细状态

除了查看所有应用的状态外,你还可以查看单个应用的详细状态。使用 pm2 show <app_name> 命令,替换 <app_name> 为你要查看的应用名称。

bash
pm2 show my-app

这将输出该应用的详细状态信息,包括进程 ID、内存和 CPU 使用情况、日志路径、环境变量等。

示例输出:

txt
Describing process with id 0 - name my-app
--------------------------------------------------------------
pid             1234
status          online
name            my-app
cpu             0.5%
memory          50MB
user            root
watching        no
uptime          3h
script path     /path/to/my-app/app.js

3. 检查应用的日志

PM2 还允许你查看应用的日志,包括标准输出日志和错误日志。使用以下命令查看应用的实时日志:

bash
pm2 logs my-app

如果你希望只查看错误日志,可以使用:

bash
pm2 logs my-app --err

这将显示应用的错误日志,有助于快速定位和解决问题。

4. 停止、重启和删除应用

  • 停止应用:你可以使用 pm2 stop <app_name> 来停止应用。
bash
  pm2 stop my-app
  • 重启应用:使用 pm2 restart <app_name> 来重启应用。
bash
  pm2 restart my-app
  • 删除应用:如果你不再需要某个应用,可以使用 pm2 delete <app_name> 删除它。
bash
  pm2 delete my-app

5. 结语

通过 PM2 的状态管理功能,你可以轻松地查看和管理应用的运行状态。无论是应用的内存、CPU 使用情况,还是日志和错误处理,PM2 都提供了强大的工具来帮助你保持应用的稳定性和高效性。

使用 pm2 status 和其他相关命令,可以快速诊断并解决可能出现的任何问题,确保应用平稳运行。