我需要在HTTP请求之间运行一个CPU和内存密集的Python脚本(分析和更改冗长的WAV文件)作为我的Web服务器(VPS)上的后台进程。
该脚本最多需要20秒才能运行,我担心服务器的性能。是否有一种很好的方法可以降低流程的优先级,定期放弃对操作系统的控制,或以其他方式保护我的适度服务器的性能?
答案 0 :(得分:7)
假设它是UNIX服务器,您可以使用nice command来降低其优先级。这应该可以解决问题。
答案 1 :(得分:5)
您可以在基于Linux的服务器上使用cpulimit。它允许您限制CPU使用率(指定限制百分比),即使已经开始运行的脚本也是如此,并且它的使用非常简单。
它可以在Debian存储库中找到,因此您可以使用aptitude轻松安装它:
apt-get install cpulimit
使用cpulimit
的典型方法包括:
# To limit CPU usage to 75% of program called foo:
cpulimit -e foo -l 75
# To limit CPU usage to 50% of program with pid = 1582
cpulimit -p 1582 -l 50