【问题标题】:how to debug an hhvm server如何调试 hhvm 服务器
【发布时间】:2013-09-12 18:21:05
【问题描述】:

我在 ubuntu 12.04 的 hiphop 虚拟机中运行 wordpress。我的服务器正常工作了大约一个小时,然后它停止服务请求并且只是超时。当我执行ps -aux | grep "hhvm" 时,我可以看到 hhvm 进程仍在运行,但它只是没有响应任何请求。无论如何我可以调试这个吗?我的日志文件中没有出现任何错误,所以我不知道从哪里开始。在 hhvm 中运行时有什么方法可以调试你的 php 代码?

更新:

我将线程从 50 增加到 300,服务器持续了 24 小时,现在同样的事情再次发生。

管理页面 /check-health 的输出是

{
  "load":240
,  "queued":0
,  "hhbc-roarena-capac":0
,  "tc-size":17473376
,  "tc-stubsize":12588591
,  "targetcache":37280
,  "units":223
}

和 /stats.html 是

{
  "stats": {
    "pages": [
    ]
  }
}

【问题讨论】:

    标签: php debugging hhvm


    【解决方案1】:

    听起来您正在使用的 HHVM 版本中可能存在一个错误,其中线程逐渐挂起,直到没有更多工作线程可用于处理传入请求。

    您可以通过使用 gdb 附加到进程来收集一些详细信息(通过键入“gdb -p $PID”,其中 $PID 是 hhvm 的进程 ID),然后键入“thread apply all bt”以获取所有线程。如果您在 https://github.com/facebook/hiphop-php/issues 打开一个 github 问题并提供所有线程的堆栈跟踪,HHVM 团队的某个人应该响应并帮助深入研究该问题。您提供的关于如何重现问题的详细信息(例如,提供重现问题的小而完整的代码示例)越有可能识别和修复错误。

    另外,如果您使用的是旧版本的 HHVM,您可能会尝试升级到新版本,因为在过去几个月中修复了许多错误。我不知道是否有针对线程卡住的错误修复,但升级可能会解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 2014-12-18
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多