使用 PM2 监控 Node.js 进程状态,让你轻松解决问题

前言

Node.js 是目前流行的服务器端编程语言之一,它的优点在于易学易用,内置模块丰富,而且拥有一个强大的开源社区。但是在实际开发中,经常会出现进程意外挂掉,或者性能不佳的情况,这时我们就需要一个能够帮助我们监控进程状态的工具来解决这些问题。本篇文章将介绍如何使用 PM2 监控 Node.js 进程状态,以及如何解决一些常见的问题。

PM2 简介

PM2 是一个基于 Node.js 的进程管理器和监控工具,具有以下优点:

  • 可以轻松地启动、重启、停止和管理多个 Node.js 进程。
  • 自带日志管理功能,支持日志轮转和文件压缩。
  • 内置负载均衡功能,可以让多个进程共享同一个端口。
  • 支持多语言,可以配置多种运行环境,包括 Node.js、Python、Ruby、Java 等。
  • 可以监控进程的 CPU、内存、网络、I/O 等性能指标,并及时发出警告通知,帮助我们发现问题。

安装 PM2

使用 PM2 首先需要安装它。我们可以使用 npm 进行安装:

安装完成后,我们可以使用 pm2 命令进行启动和管理进程。

使用 PM2 启动和管理进程

在使用 PM2 启动和管理进程之前,我们需要先修改 Node.js 应用程序的启动文件。把原来的 node app.js 命令改为 pm2 start app.js 命令,即可使用 PM2 启动应用程序。

使用 pm2 start app.js 命令启动应用程序后,可以使用 pm2 list 命令查看所有运行中的进程,如下所示:

我们可以看到 app 运行在集群模式下,进程 ID 为 6787,CPU 使用率为 0%,内存占用约 26.8 MB,运行时间为 0s

使用 pm2 stop app 命令可以停止应用程序,使用 pm2 delete app 命令可以删除应用程序。

使用 PM2 监控进程状态

PM2 除了可以启动和管理进程之外,还可以监控进程状态。具体步骤如下:

  1. 打开 PM2 Web Dashboard,地址为 http://localhost:9615/

  2. 在 Chrome 浏览器中打开网址 http://localhost:9615/,可以看到 PM2 Web Dashboard 界面。

    可以看到 Dashboard 显示了目前所有进程的 CPU 使用率、内存占用、日志信息等。

  3. 在进程页面中查看进程状态,包括 CPU 使用率、内存占用、进程运行时间等。

    点击进程 ID 可以进入进程页面,可以看到进程的详细信息,包括 CPU 使用率、内存占用、进程运行时间等。

    右上角的红色警告符号表示该进程遇到了问题,可以点击进去查看具体的错误信息。

    对于 CPU 占用率过高或内存占用过多等问题,可以通过将 max_memory_restartmax_restarts 参数配置到应用的 package.json 文件来限制。

    示例代码如下:

    上面的配置中,max_memory_restart 表示进程的内存占用超过 100MB 时自动重启,max_restarts 表示进程连续重启超过 10 次时认为进程不稳定,自动停止运行。

总结

PM2 是一个强大的进程管理器和监控工具,在 Node.js 后端开发中应用广泛。本篇文章介绍了如何使用 PM2 启动和管理进程,以及如何使用 PM2 监控进程状态,帮助开发者更好地管理和监控 Node.js 进程,提高应用程序的稳定性和可靠性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6528fc927d4982a6ebb8da89


纠错
反馈