Вы можете попробовать использовать Process.setrlimit
из стандартного ядра:
Устанавливает ограничение ресурса процесса.
Это похоже наэто просто оболочка для setrlimit
из библиотеки C, поэтому она может быть доступна только на платформах Unix-ish.setrlimit
не поддерживает процентное ограничение ЦП, но поддерживает ограничение времени ЦП в секундах.
Если вы просто пытаетесь не дать процессу Ruby перегружать весь ЦП, то вы можете попытаться отрегулировать его приоритет сProcess.setpriority
, который является просто оболочкой для setpriority
libc и предлагает некоторый контроль над приоритетом планирования вашего процесса.Опять же, доступность, вероятно, будет ограничена вашей платформой, но она должна работать в Linux, OSX или любой другой системе Unix-ish.