node.js中如何使用pm2实现占用CPu100%自动重启脚本
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章将为大家详细讲解有关node.js中如何使用pm2实现占用CPu100%自动重启脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。公司使用了nodejs开发
千家信息网最后更新 2025年11月10日node.js中如何使用pm2实现占用CPu100%自动重启脚本
这篇文章将为大家详细讲解有关node.js中如何使用pm2实现占用CPu100%自动重启脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
公司使用了nodejs开发了一部分业务,使用pm2管理node进程。
但是总是莫名其妙的占用100%CPU,又一时查不出什么问题。
为了避免node进程占用100%CPU导致业务卡死情况,写了一个针对pm2 管理node.js进程的脚本。
大概方式:
使用pm2 json得到pm2 的当前信息。
如果发现pm2 的某一个进程占用CPU90%,并且5s内该进程对应的日志没有变化,则重启该进程。
算是治标不治本吧,先凑合用着。
使用:php pm2AutoCheck.php 2>&1 >/dev/null &
&1 >/dev/null &;fiset_time_limit(0);//获取pm2信息$comGetPm2Info="pm2 jlist";$pm2OutPut = "";$pm2OutPut=exec($comGetPm2Info);//解析json$pm2Info = json_decode($pm2OutPut,true);$pm2InstanceNum = count($pm2Info);//重启PM2进程function restartPm2Instance($pm_id){ $commRestart = "pm2 restart ".$pm_id; system($commRestart);}//通过检查日志是否有变化//来确定PM2进程是否在处理请求function isLogModified($pm2Info,$pm_id){ $pm2InstanceLog = $pm2Info[$pm_id]['pm2_env']['pm_out_log_path']; if( file_exists($pm2InstanceLog)){ $lastModified = filemtime($pm2InstanceLog); sleep(5); $newModified = filemtime($pm2InstanceLog); if( $newModified <= $lastModified ){ echo "file not modifed"; return 0; }else{ return 1; } }else { return 2; }}//死循环,间隔60s来检查一次while(1){for( $i=0 ;$i<$pm2InstanceNum ;$i++){ $pm2InstanceLoad = (int)round( $pm2Info[$i]['monit']['cpu']); $pm_id = $pm2Info[$i]['pm_id']; if( $pm2InstanceLoad >= 90 ){ $needRestart = isLogModified($pm2Info,$pm_id); if( $needRestart == 0 ){ restartPm2Instance($pm_id); } }} sleep(60);}关于"node.js中如何使用pm2实现占用CPu100%自动重启脚本"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
进程
脚本
篇文章
业务
信息
日志
更多
变化
检查
管理
不错
实用
莫名其妙
治标不治本
公司
内容
情况
文章
方式
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
长城风骏5数据库
奇安信软件开发
写sql操作数据库时注意什么
数据库怎么设计关键字
信息网络安全工作自查
当乐软件开发
关系数据库的扩展性
软件开发 visor
软件测评师与数据库工程师
app程序软件开发
加油站风险数据库填报
dell服务器bios
江苏软件开发哪家强
网络安全设计论文
网络技术包含两个主要技术是
浪潮服务器管理口进raid
桓台工厂库存软件开发
软件开发本科毕业3年
吉林省网络安全和信心化
女性哪些服务器
数据库期中考试试题百度文库
db2数据库默认建表
编程软件开发的缺点
电子商务软件开发业务咨询
数据库课程难学吗
网络安全大赛开赛视频
微信发送文件会被服务器保存吗
ai服务器报价
于志国中国影响力数据库
济南联想服务器总代理批发