我无法让我的 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
谢谢大家,我已经找到答案了。内存不足,无法运行。升级内存两次解决了这个问题。