Linux: Распределение нагрузки на CPU на новом сервере

awk 'FNR==NR && $2 == "Weight:"{ weights[spotted++]=$3} FNR!=NR && $1 != "WGHT" { print } FNR!=NR && $1=="WGHT" { print "WGHT", weights[replaced++]} ' in1 in2 > out2

Это создаст новый файл out2с нужными вам выходными данными. Затем его можно перемещать куда угодно.

$ cat out2
asdajskdha
kjashdjahsd
WGHT 0.546
0
06.01.2017, 11:38
1 ответ

Процессы не будут использовать дополнительные ядра для более быстрой работы, если они не предназначены для этого с использованием потоков или других механизмов параллелизма.

Python, в частности, обычно плохо использует несколько ядер из-за GIL ( Глобальная блокировка интерпретатора ). Вы можете попробовать использовать модуль Python «многопроцессорность», чтобы добиться большего количества программ.

Вы мало что можете сделать для повышения производительности одноядерных процессов, не связанных с вводом-выводом, за исключением покупки процессоров с более высокими тактовыми частотами. Но иногда вы можете найти узкие места доступа к памяти и кэширования памяти. Например, если ваша машина содержит несколько процессоров, которые соединены вместе через NUMA соединения, и процессы часто перемещаются между этими процессорами, может возникнуть ситуация, когда процессоры должны часто обращаться к памяти через NUMA ] через другие ЦП (доступ к памяти, подключенной к другому ЦП, может быть значительно медленнее, чем к памяти, подключенной напрямую к ЦП « этот »).

Возможно, стоит попробовать привязать процессы к конкретным процессорам с помощью команды cpuset (1).Если это сработает, вам также следует изучить различные параметры настройки поведения Kenel NUMA.

Отредактируйте, чтобы добавить: Еще одна область, на которую следует обратить внимание, - это управление питанием, возможно, частоты процессора снижаются из-за процессов энергосбережения. Вы можете использовать команду cpupower (1), чтобы проверить и установить настройки управления питанием VPU.

3
28.01.2020, 02:26

Теги

Похожие вопросы