MuleSoft On-Premise Distributing CPU and Memory Between 2 Runtimes (both are on same system)

926 Views Asked by At

here is my scenario: I have a windows VM and it's having 2 runtimes installed on it (Mule1 and Mule2).

Now If i have to distribute 60% of VM CPU to Mule1 and 40% to Mule2. How can it be done?

Is that even possible ?

1

There are 1 best solutions below

0
On

There is a concept called CPU affinity, when you have more than one core or CPU. The operating system you are using have tools for assigning cores to a process. I'm not aware of a feature to assign or limit a percentage of CPU usage to a process. I don't know about an out of the box feature to limit CPU usage per process.

Linux: You can use the taskset command to set which cores to assign to the mule process.

Example:

taskset -c 0,1 ./mule

Source: https://help.mulesoft.com/s/article/How-to-set-CPU-affinity-for-Mule-ESB-process

Windows: In the Task Manager, you can right-click the java.exe and wrapper-windows-x86-64.exe processes, select "Set Affinity" and choose the processors In this article there are Powershell commands to do the same from the command line: https://help.mulesoft.com/s/article/How-to-set-CPU-affinity-for-a-Mule-ESB-process-in-Windows-as-a-Service

It is completely different topic however Docker allows something similar per container.