【问题标题】:Starting Node with Forever and --prof option V8 Log file not created使用 Forever 和 --prof 选项启动节点 V8 未创建日志文件
【发布时间】:2015-08-16 10:22:42
【问题描述】:

我正在尝试使用“forver”模块运行我的 Node 应用程序,我还想通过“--prof”选项来分析我的应用程序。 我使用的命令是

NODE_ENV=staging PORT=3000 NODE_CONFIG_DIR="/domains/serving/src/config" 永远启动 -c "node --prof" -l /var/log/forever.log -e /var/log/forever_error. log -o /var/log/forever_output.log -a /domains/serving/src/bin/www

或者

NODE_ENV=staging PORT=3000 NODE_CONFIG_DIR="/domains/serving/src/config" 永远启动 -c "node --debug=3048 --prof" -l /var/log/forever.log -e /var /log/forever_error.log -o /var/log/forever_output.log -a /domains/serving/src/bin/www

在我的本地机器上运行时一切正常,但是在服务器上执行相同的命令时会失败

1) forever list 命令显示一个进程正在运行,但没有进程在侦听端口 3000 2) 未创建探查器日志文件 (v8.log) 我尝试使用 find 命令

sudo find / -iname "v8.log"

我的本​​地机器是 Ubuntu

服务器配置如下 以下命令的输出

uname -e

Linux MSSSKAMITMI 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

节点-v

v0.12.0

如果我在服务器和本地运行节点命令而不是永远运行一切正常,则创建日志文件的进程侦听端口 3000,我也可以发出请求并获得响应。

NODE_ENV=staging PORT=3000 NODE_CONFIG_DIR="/domains/serving/src/config" node --debug=3048 --prof /domains/serving/src/bin/www

【问题讨论】:

标签: linux node.js profiling v8


【解决方案1】:

从 node.js v0.12 或 io.js 1.0 开始,v8 日志记录现在是独立的,因此文件名的格式为 isolate-<hex isolate address>-v8.log

【讨论】:

  • 是的,你在我的本地机器上是对的,日志文件是用“隔离”后缀创建的,所以我尝试使用以下命令搜索日志文件 sudo find / -iname "v8。日志”,但没有运气,日志文件不会在服务器上创建。知道为什么会发生这种情况吗?甚至没有任何东西记录在永远的日志中。这只发生在服务器 Staging & Live
  • 还有几个问题,我应该将哪个文件传递给 Linux-tick 处理器进行分析?是否有将这些文件组合成单个文件的工具,甚至建议这样做还是我必须分别分析每个文件?任何提供更多信息的地方都会很有帮助
  • 通常只有一个分离物,但是是的,您必须分析每一个。您可以尝试find / -name "isolate*.log",但通常 v8 日志将位于执行脚本的同一工作目录中。
  • 是的,我试过 find 用星号包围的文件参数,我不知道它们是如何从我的评论和问题中删除的。起初我以为我可能忘记了问题中“v8”周围的星星,所以我在评论中添加了它们,但它们也从那里删除了一些格式。文件参数包含 starV8star.log
猜你喜欢
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 2010-11-20
  • 1970-01-01
  • 2019-02-09
  • 1970-01-01
相关资源
最近更新 更多