为什么 perl 脚本会冻结我的服务器?

为什么 perl 脚本会冻结我的服务器?

我无法让我的 perl 脚本在服务器上稳定运行。问题如下:

当每秒访问脚本超过 5 次时,服务器就会冻结。一段时间后,服务器永远挂起。SSH 没有响应,我不得不重新加载服务器。

我正在使用带有 mod_perl 的 Apache。

该脚本托管在 Ubuntu 下的虚拟专用服务器上。我通过 SSH 操作它。

这是服务器配置:

  • CPU:400 MHz
  • 内存:256 MB

该脚本的最大执行时间为 200 毫秒。

我用“top”实用程序监控了服务器负载。它没有显示任何问题,这是每秒加载 5 个脚本时的 CPU 统计信息。

CPU:12.1%us,0.6%sy,0.0%ni,0.0%id,0.0%wa,0.0%hi,0.0%si,87.2%st

我有什么选择可以使脚本顺利运行?

答案1

我认为问题出在第 58 行。看看那里。

但说真的,如果对功能或代码一无所知,你怎么能期望得到答案呢?

答案2

听起来好像脚本在完成之前被再次调用 - 也许第二个实例无法访问被调用的资源或类似的东西。如果没有一些代码就很难说清楚...那个 perl 脚本到底在做什么?

答案3

谢谢大家,我已经找到答案了。内存不足,无法运行。升级内存两次解决了这个问题。

相关内容