华为云Windows Server服务器下,Node使用pm2-logrotate分割pm2日志,解决pm2日志内存占用过高的问题。
2023-12-22 18:34:39
一、简介
- PM2 是一个守护进程管理器,它将帮助您管理和保持您的应用程序在线。
- PM2 入门很简单,它以简单直观的 CLI 形式提供,可通过 NPM 安装。
- 官网地址:https://pm2.keymetrics.io/
二、问题:pm2日志内存占用过高,且无法自动清理相关日志文件。
三、解决办法:使用pm2-logrotate分割pm2日志,解决pm2日志内存占用过高的问题。
pm2-logrotate 是一个pm2的插件,可以对pm2日志进行管理,所以它的运行需要依靠pm2。使用pm2-logrotate 解决pm2日志体积过大,进行分割。
- 手动删除日志
两种办法
(1)使用pm2命令手动删除:pm2 flush
(2)找到pm2/logs文件夹,将文件夹内txt日志文件删除 - 安装
注:该命令是 pm2 install不是 npm install
pm2 install pm2-logrotate
- 查看配置指令
pm2 conf pm2-logrotate
- 配置项
// 每个文件最大存储 注:10G 10M 10K
pm2 set pm2-logrotate:max_size 50k
// retain:保留的日志文件个数,比如设置为30,那么在日志文件达到30个后就会将最早的日志文件删除
pm2 set pm2-logrotate:retain 30
// 是否通过gzip压缩日志
pm2 set pm2-logrotate:compress false
// dateFormat 日志文件名的日期格式。如设置的日志名为out.log,就会生成out-YYYY-MM-DD_HH-mm-ss.log 的日志文件
pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss
// 检查日志大小的时间间隔,最小为1
pm2 set pm2-logrotate:workerInterval 30
// 设置强制分割,默认值是0 0 * * *,意思是每天晚上0点分割
pm2 set pm2-logrotate:rotateInterval 0 0 * * *
// rotateModule 是否把pm2本身的日志也进行分割
pm2 set pm2-logrotate:rotateModule true
- 设置:自动删除pm2日志
pm2 set pm2-logrotate:max_size 1M
pm2 set pm2-logrotate:retain 10
到此,就解决了pm2日志内存占用过高的问题。
本文原创,原创不易,如需转载,请联系作者授权。
文章来源:https://blog.csdn.net/qq_36034945/article/details/135157497
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!