3

Я работаю над монолитной программой, работающей в Linux, которая требует очень много памяти. У нас возникают проблемы с настройкой скорости этой программы на большинстве наших машин с большой памятью, потому что производительность нестабильна и варьируется до 15% от одного запуска к другому. Например, одна машина имеет 2 ТБ памяти и 80 процессоров Xeon E7-4870 (2,4 ГГц). Как мы можем определить источник этой изменчивости и / или повысить точность наших измерений, чтобы мы могли определить, какие ускорения работают и в какой степени? Это работает SUSE11.

Вот что мы уже пробовали:1) Отключен TurboBoost в BIOS. 2) Запуск программы много раз и усреднение результатов. Это работает, но на устранение шума уйдут недели.

1 ответ1

1

Сложно ответить без более подробной информации: тип приложения (ввод-вывод, интенсивное вычисление или сетевое приложение), дополнительные процессы и т.д.

Но я бы добавил несколько общих предложений:

-) Используйте oprofile, чтобы попытаться понять, где находится система (и конкретное приложение) большую часть времени. Этот инструмент очень мощный, даже если для экстраполяции его вывода на сложные приложения требуется немного времени.

-) Используйте такие инструменты, как iostat, iotop, pidstat, vmstat, чтобы попытаться проанализировать, есть ли узкие места в разделе ввода-вывода или потребления / разбиения памяти и так далее.

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