gpt4 book ai didi

ruby-on-rails - 如何找出为什么 Rails 服务器挂起 100%?

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:55 24 4
gpt4 key购买 nike

有人能想出办法找出我们的 rails 生产服务器卡在哪里吗?它的 CPU 占用率为 99%,所以我假设它会在 while/for/each 循环中丢失。不幸的是,我们找不到候选循环。

这个问题在开发中没有出现,我们的测试套件现在有 100% 的代码覆盖率。

我们已经通过 gdb 附加到 Ruby,但不知道从那里去哪里。有什么想法吗?

最佳答案

一旦您将 gdb 附加到繁忙的循环进程,然后从 gdb 调用 rb_backtrace:

> call rb_backtrace()

rb_backtrace 的输出类似于崩溃报告,输出将进入您的日志文件,类似于标准的 Ruby 错误回溯。

从那里开始,您应该已经离解决方案更近了一步,因为您将看到该过程在您的 Ruby 代码中的哪个位置被卡住了。

您可以在此处查看更多提示:
http://isotope11.com/blog/getting-a-ruby-backtrace-from-gnu-debugger

关于ruby-on-rails - 如何找出为什么 Rails 服务器挂起 100%?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787670/

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