我的Debian VPS上有一个非常标准的LAMP安装程序。 VPS有512MB的内存,我已经在我的php.ini中为php分配了128MB。
如果我创build一个无限循环的脚本,VPS几乎停滞不前(SSH停止响应等)。
我想知道是否有办法降低PHP的优先级或类似的东西,以便坏的脚本不能太多的干扰服务器。
谢谢,约翰。
你实际上有两个select,这取决于你如何运行这个。 一个解决scheme是限制PHP脚本的运行时间 – 也就是说,您可以根据其实际运行时间自动终止PHP脚本。
如果您是从Web服务器(Apache,Lighttpd等)运行的,则可以使用max_execution_time参数。 默认情况下,这是30秒。 如果你从CLI运行这个,使用set_time_limit函数。
另一个解决scheme是使用诸如monit东西来监视PHP进程的负载和CPU使用情况,并在达到指定级别时将其杀死。
希望这可以帮助; 尽pipe完全消除脚本中的这些逻辑错误可能是个好主意。
如果PHP作为模块运行(例如mod_php),则在webserver进程上使用nice或renice 。 这将允许PHP在可用时使用更多资源,但会优先处理可能需要它们的其他进程。
我应该补充说,这只适用于Linux,也许是UNIX。