gpt4 book ai didi

node.js - nodejs USR2 信号使用 heapdump 杀死进程

转载 作者:太空宇宙 更新时间:2023-11-03 23:05:03 61 4
gpt4 key购买 nike

使用heapdump ,我正在尝试拍摄 Node 的一些堆快照

根据https://blog.risingstack.com/finding-a-memory-leak-in-node-js/

将 USR2 发送到需要 heapdump 的 Node 进程应该会触发 heapdump 将堆快照保存到工作目录。

在我的本地服务器(在 Mac 上运行)上,这效果很好。在 AWS ubuntu 服务器上,USR2 会终止该进程。我也尝试过 SIGUSR2。

有谁知道为什么“sudo Kill -USR2”会杀死进程而不是触发堆快照?

最佳答案

发生这种情况的原因有两个:

  • 在某些发行版中,终止代码是 USR2,而在其他发行版中,它是 SIGUSR2。您需要运行 kill -l 来检查您的发行版支持哪一个。

  • require('heapdump') 未在当前工作线程中执行。因此,如果您使用 Node cluster模块,那么您需要在当前工作线程中要求heapdump,即

if (worker.isMaster) { /*掌握东西*/} 别的 { 要求('堆转储')}

关于node.js - nodejs USR2 信号使用 heapdump 杀死进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925909/

61 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com