Please, pay attention that now you are in public part of FAQ-Area. Register and find more FAQ-articles in Personal Cabinet.

FAQ#700888: Высокая загрузка ЦП при запуске и работе в приложении

Keywords: Created: 2015-04-29 12:20:16
Linked Articles: Changed: 2019-11-01 15:48:03

Problem:

Приложение использует OpenMP API для повышения производительности на компьютере с несколькими ядрами/процессорами. При запуске и работе приложения может возникать высокая загрузка ЦП. Эта проблема возникает из-за поведения ожидающих потоков. Поведение ожидающих потоков регулируется установкой системной переменной окружения OMP_WAIT_POLICY.
  • Присвоение системной переменной OMP_WAIT_POLICY значение ACTIVE, указывает, что ожидающие потоки должны быть активными в основном потоке, т.е. потреблять ресурсы процессора во время ожидания.
  • Присвоение системной переменной OMP_WAIT_POLICY значение PASSIVE, указывает, что ожидающие потоки должны быть пассивными, т.е. не потреблять ресурсы процессора во время ожидания.
  • По умолчанию системной переменной OMP_WAIT_POLICY присвоено значение ACTIVE
Для корректной работы приложения, системной переменной OMP_WAIT_POLICY должно быть присвоено значение PASSIVE.
Установщик Renga Architecture,  при установке приложения автоматически создает имя переменной OMP_WAIT_POLICY и присваивает ей значение PASSIVE.

Solution:

  • Если системная переменная OMP_WAIT_POLICY отсутствует в списке системных переменных, необходимо ее создать со значением PASSIVE
  • Если системная переменная OMP_WAIT_POLICY есть в списке системных переменных, но все равно наблюдается описанная проблема, необходимо проверить правильность значения (должно быть PASSIVE), а также корректность имени системной переменной (правильность написания, отсутствие пробелов и т.п.)