可以强制,脚本使用一定数量的CPU和内存?

时间:2009-11-26 05:08:59

标签: ruby linux

是否可以强制ruby脚本使用一定量的CPU和内存。

我不希望脚本在超过指定数量时被杀死。我只是希望它在给定的约束内运行。

编辑:

是的,这是一个无休止的递归循环,似乎使用了很多CPU。

我注意到在每次递归结束时执行return会导致这种情况。删除后,这个高CPU使用率消失了。还有什么可以用来终止循环?退出?

4 个答案:

答案 0 :(得分:2)

是的,在大多数编程系统中调用睡眠功能(包括ruby)将导致程序等待这段时间,几乎没有CPU功率。

或者,您可以以较低的优先级运行您的程序(在* nix系统中,使用nice或renice完成)。

答案 1 :(得分:1)

睡眠会使当前线程睡眠一段时间。你的cpu负载下降是因为你的程序在那段时间没有做任何事情。内核应该处理以确保您的CPU有足够的时间运行所有程序。

答案 2 :(得分:0)

这真的取决于你在脚本中做了什么。如果它是某种无限循环,那么你只是“休眠”你的脚本,并且花费更少的处理时间。

简而言之,“睡觉”不是一个特别干净或适当的解决方案。如果您详细说明了脚本的功能,通常会提供更合理的解决方案。

答案 3 :(得分:0)

你几乎不需要这样做。为什么你会浪费那段时间无所事事? CPU处于高利用率状态并没有错;它不需要休息。如果有多个进程在运行,那么操作系统将处理它们之间的CPU时间。