Локальное распределение ЦП и памяти в MuleSoft между 2 средами выполнения (обе находятся в одной системе)
Вот мой сценарий: у меня есть виртуальная машина Windows, и на ней установлены 2 среды выполнения (Mule1 и Mule2).
Теперь, если мне нужно распределить 60% ЦП виртуальной машины на Mule1 и 40% на Mule2. Как это сделать?
Это вообще возможно?
1 ответ
Когда у вас более одного ядра или ЦП, существует концепция, называемая сродством ЦП. В используемой вами операционной системе есть инструменты для назначения ядер процессу. Мне неизвестна функция, позволяющая назначать или ограничивать процент использования ЦП для процесса. Я не знаю о встроенной функции по ограничению использования ЦП для каждого процесса.
Linux: вы можете использовать команду taskset, чтобы указать, какие ядра назначить процессу мула.
Пример:
taskset -c 0,1 ./mule
Источник: https://help.mulesoft.com/s/article/How-to-set-CPU-affinity-for-Mule-ESB-process
Windows: в диспетчере задач вы можете щелкнуть правой кнопкой мыши процессы java.exe и wrapper-windows-x86-64.exe, выбрать "Set Affinity" и выбрать процессоры. В этой статье есть команды Powershell, которые делают то же самое из командная строка: https://help.mulesoft.com/s/article/How-to-set-CPU-affinity-for-a-Mule-ESB-process-in-Windows-as-a-Service
Это совершенно другая тема, однако Docker допускает нечто подобное для каждого контейнера.