最近运维老大j哥找到我说了一个事儿:某私有化部署的线上环境nodejs进程数量多达1000+,对比公版线上环境的66个进程数显得十分诡异。并且单个nodejs进程所占用swap空间也较大,也不释放空间,日积月累下来是一个隐患。

我的debug过程比较顺畅,记录下来以备有同样烦恼者借鉴。

先用top命令发现,系统Task数量高达1300+,然后使用命令:

ps -ef | grep node | wc -l

统计出有1306个进程

用ps -ef | grep node 查看进程列表

发现全是:

问题原因:

这是npm的一个更新包机制的服务。这些进程一直未释放,所以就导致了Task数过高,由于nodejs进程数超过了最大系统线程池数量,由此可能造成之前request包请求的时候报escokettimeout.

check.js中对如果不能更新成功则子进程一直存活的逻辑,是造成这些进程一直不exit的原因。华西项目是私有化部署在内网中,无法连到外网拉取到更新,所以会一直生成进程而不停止。

解决办法:

先杀死相关 node check.js的进程

 pgrep -a node|awk '{print $1}'|xargs kill -9

然后处理更新。

只要让这个更新操作不执行即可,有如下方法:

1.移除check.js文件即可。

2.在npm相关设置中设置不自动更新参数。(NO_UPDATE_NOTIFIER)

参考资料:https://www.codercto.com/a/26526.html

转载于:https://www.cnblogs.com/freephp/p/10729302.html

update_notifier 造成nodejs进程数量增长的问题相关推荐

  1. 去年黑客用的未知软件漏洞数量增长一倍 创下纪录

    黑客的技术正变得愈加先进 北京时间4月12日消息,据路透社报道,全球最大安全软件厂商赛门铁克发布的最新报告显示,去年黑客使用的此前未知软件漏洞数量增长了一倍以上,再次表明网络犯罪和网络间谍活动的技术正 ...

  2. C++进程数量的限制

    C++进程数量的限制 最大理论数 可创建的实际数 最大理论数 1.每个进程都要在全局段描述表GDT中占据两个表项 1.每个进程的局部段描述表LDT都作为一个独立的段而存在,在全局段描述表GDT中要有一 ...

  3. linux修改可用的最大进程数量和可打开的最大文件数

    cat >>/etc/security/limits.conf<<EOF * soft nproc 655350 * hard nproc 655350 * soft nofi ...

  4. nodejs进程异常退出处理方法

    nodejs进程异常退出处理方法 参考文章: (1)nodejs进程异常退出处理方法 (2)https://www.cnblogs.com/mengff/p/10207154.html (3)http ...

  5. 【企业微信怎么使用】如何快速做好企业微信客户数量增长?

    如何快速做好企业微信客户数量增长?今天又是一期干货分享,下面就教大家几种方式: 01批量导入客户联系电话,通过企业微信自动加人软件批量添加朋友微信,可以结合自主产品福利活动,如客户反馈等方式,大幅度提 ...

  6. 抖音:对比去年6月蓝V账号数量增长44.6倍 投稿量增长211倍

    [TechWeb]7月17日消息,抖音官方日前对外发布<抖音企业蓝V白皮书2019版>,数据显示,对比去年 6 月,企业蓝V账号数量增长44.6倍,投稿量增长211倍,企业账号成为抖音平台 ...

  7. Nachos进程数量限制128、ID号分配以及基于优先级的调度算法详解

    文章目录 写在前面 运行环境配置 最大线程限制 实现可回收的线程ID机制 基于优先级的先来先服务调度算法 修改完毕的nachos我已经上传了,需要的话可以点击这里下载,积分不够可以私信我,CSDN设置 ...

  8. Nodejs进程崩溃发送邮件

    在项目发布后,nodejs进程遇到不可预测的BUG,崩溃后,我们想通过邮件通知开发人员.方便我们查找问题. 正好有一个插件,用起来很方便,记录在此.插件名字是nodemailer.地址https:// ...

  9. 2019年中国进口澳洲坚果数量增长85%,其中97%来自澳洲本土

    澳洲的坚果种植者们正在利用科学研究成果,来理解澳洲坚果与生俱来的可持续发展特性,并以此引导农场实践中的可持续发展理念,满足当今"有意识消费者"的需求. 去年,出于对可持续发展的考虑 ...

最新文章

  1. R语言dplyr包使用anti_join()函数返回在一个dataframe中存在而在另一个dataframe中没有匹配值的所有行实战
  2. lepus mysql 复制监控_sql_mode=ONLY_FULL_GROUP_BY 导致lepus监控mysql5.7报错
  3. Text-CNN-文本分类-keras
  4. HTML5入门之新的选择器
  5. linux ssh yum升级_Linux 运维必备的 13 款实用工具,拿好了
  6. java实现条形图,JavaFX条形图
  7. 1900-01-01t00:00:00+08:00 java_日期格式转换 java 2016-09-03T00:00:00.000+08:00
  8. Python版插入排序算法
  9. xen-tools创建虚拟机找不到root fs的解决办法
  10. Java基础学习(4)-动态代理
  11. acrobat dc和9 pro哪个好_荣耀Play4 Pro和荣耀V30有什么区别?选哪个?
  12. java svn插件_eclipse 安装SVN插件 subversive
  13. vs2015安装+下载详细教程
  14. 洛谷P3533 [POI2012]RAN-Rendezvous
  15. MAC使用SSH连接IPhone
  16. 国际网页短信软件平台后台功能篇|移讯云短信系统开发
  17. OLTP、OLAP与HTAP
  18. 君子慎独,卑以自牧!
  19. 思博伦Spirent TestCenter _如何使用抓包过滤功能抓取特定的帧_双极未来
  20. 【散文】一场白露,怎知秋心

热门文章

  1. C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)
  2. android Eclipse导入com.android.internal.R和layoutlib.jar报错解决方案
  3. 点运算符(.)和中括号运算符([])有哪些区别
  4. 使用secure CRT的SFTP在LINUX与WINDOWS下交换文件
  5. 在Delphi7中调试COM
  6. VMware vSphere 服务器虚拟化之十七 桌面虚拟化之安装View链接服务器
  7. sql中exists替换in的区别
  8. 常发生的异常有哪些, 如何使用异常?
  9. 安装Rational Enterprise Suite(Robot...)时遇到的问题及解决办法!
  10. [转]linux awk命令详解