Можно ли заставить скрипт использовать определенное количество процессора и памяти? - PullRequest
0 голосов
/ 26 ноября 2009

возможно ли заставить скрипт ruby ​​использовать до определенного количества ЦП и памяти.

Я не хочу, чтобы скрипт был убит, если он превысил указанное количество. я просто хочу, чтобы он работал в рамках заданных ограничений.

EDIT:

да, это бесконечный рекурсивный цикл, который, похоже, использует много ресурсов процессора.

я заметил, что выполнение return в конце каждой рекурсии вызывает это. после того, как я удаляю это, это высокое использование процессора исчезло. Что еще я могу использовать для завершения цикла? выход?

Ответы [ 4 ]

2 голосов
/ 26 ноября 2009

Да, вызов функции ожидания в большинстве программных систем (включая ruby) приведет к тому, что программа будет ждать в течение этого времени, практически не используя процессор.

Кроме того, вы можете запустить вашу программу с более низким приоритетом (в * nix системах это делается с помощью nice или renice).

1 голос
/ 26 ноября 2009

sleep будет спать текущий поток в течение некоторого периода времени. Загрузка вашего процессора снижается, потому что ваша программа ничего не делает в течение этого времени. Ядро должно обеспечивать, чтобы у вашего процессора было достаточно времени для всех запущенных программ.

0 голосов
/ 26 ноября 2009

Тебе почти никогда не нужно это делать. Зачем вам тратить это время, ничего не делая? Нет ничего плохого в высокой загрузке процессора; ему не нужно отдыхать. Если запущено несколько процессов, то операционная система занимается делением времени ЦП между ними.

0 голосов
/ 26 ноября 2009

Это действительно зависит от того, что вы делаете в своем скрипте. Если это какой-то бесконечный цикл, вы просто «переводите» свой сценарий в спящий режим и позволяете тратить на него меньше времени.

Короче говоря, «сон» не является особенно чистым или правильным решением. Было бы полезно, если бы вы опубликовали подробности о том, что именно делает ваш сценарий, как правило, было бы гораздо более разумное доступное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...