# Violation of number of reserved CPUs for remote function

**URL:** <https://discuss.ray.io/t/violation-of-number-of-reserved-cpus-for-remote-function/5303>\
**Category:** Ray Core\
**Created:** [March 4, 2022, 7:42pm UTC](https://discuss.ray.io/t/violation-of-number-of-reserved-cpus-for-remote-function/5303 "2022-03-04T19:42:33Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![TedDeVriesLentsch](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ray.io/teddevrieslentsch/32/2056_2.png) [@TedDeVriesLentsch](https://discuss.ray.io/u/TedDeVriesLentsch)\
**Post date:** [March 12, 2022, 8:05am UTC](https://discuss.ray.io/t/violation-of-number-of-reserved-cpus-for-remote-function/5303/5 "2022-03-12T08:05:45Z")

</div>

Hello @Stephanie_Wang,

Thank you for your reply.

What does “the same job” in your answer exactly mean? Do you mean that the extra worker can only be used if g() is executed because the extra worker has been created to resolve a deadlock that occurred by executing g()?

In my code, the extra worker was created to execute f1() remotely, but after that, the worker could also be used for f2() by giving f2() as an argument to g(). So this indicates that the extra worker can be used for another function (as long as g() is involved).

In another [topic](https://discuss.ray.io/t/run-time-of-remote-function-depends-on-time-elapsed-since-the-last-remote-function-call/4812) of me, @sangcho stated that Ray uses a soft limit for the number of workers and that Ray kills the surplus of workers when they are idle.

---

_[View the full topic](https://discuss.ray.io/t/violation-of-number-of-reserved-cpus-for-remote-function/5303)._
