У нас на компьютере AIX работают два процесса: один - Oracle, другой - Business Objects. Во время работы BO принимает почти 100% циклов ЦП, а Oracle не может обрабатывать с приемлемой скоростью. BO не предоставил нам специфическое решение для приложения, чтобы оно не использовало все ресурсы.

Есть ли какой-либо метод в AIX для ограничения процесса BO определенным циклом ЦП% или количеством ядер? Перемещение BO с этой машины в настоящее время не вариант. Любой совет с благодарностью.

2 ответа2

1

Здесь я нашел довольно подробное объяснение приоритета процесса и управления в AIX. В соответствии с этим, вы можете получить топ N выполняющих процессов, набрав следующее:

ps -elf | egrep -v "STIME|$LOGNAME" | sort +<N> -r | head -n 15

Затем, когда вы знаете, какие процессы убивают систему (в вашем случае вы уже знаете, что ..), вы можете использовать 2 команды:

nice - Позвольте вам расставить приоритеты, как ядро планирует свою обработку. Например, следующая команда добавит 10 к значению по умолчанию 20 и создаст новое значение nice 30 с приоритетом 70 .:

# nice -n 10 thisjob

renice - позволяет снова расставить приоритеты для процесса, который уже запущен. Например, следующая команда приведет к тому, что процесс 1683 будет иметь значение 30:

# renice -n 10 -p 1683

Этого должно быть достаточно, но вы можете найти более подробное объяснение в вышеупомянутой ссылке.

0

WPAR приложения обеспечивают изоляцию процесса,

http://www.ibm.com/developerworks/aix/library/au-wpar61aix/

В зависимости от вашего оборудования вы можете найти вариант микроразделения или системные разделы WPAR.

Микроразделение позволяет вам выделить менее одного ЦП для разных экземпляров ОС, но при этом позволяет им сгибаться, а системные WPAR предлагают аналогичную функцию, но внутри в образе ОС.

Оба имеют свое место, но приносят разные проблемы.

Или, как другие предложили, вы можете использовать приоритеты для стимулирования Oracle.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .