日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

update_notifier 造成nodejs进程数量增长的问题

發布時間:2024/4/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 update_notifier 造成nodejs进程数量增长的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近運維老大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进程数量增长的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。