I work on a Linux system running Java JVM's that create new threads (processes) to handle the work load. Thread complexity can't be predicted beforehand and some threads end up doing more CPU intensive work than other threads We've run into a problem when so many threads are started that the CPU usage gets uncomfortably close to 100% with low percentage of idle. I understand if the CPU usage gets too high, other running services are impacted, for example the system won't accept new ssh logins until it it rebooted.
Isn't there an automated process monitor that can be configured at the system level to prevent CPU usage of user processes from getting too high, so that system services won't be impacted?