Я запускаю приложение с тяжелым процессором и памятью для 3D-реконструкции (www.3dsurvey.si, если необходимо) на сервере AMD opteron (4 процессора, 12 ядер каждый, 128 ГБ ОЗУ). Я заметил, что ЦП не используется должным образом из-за (как я считаю) ошибок страниц. При обработке мы получаем более 100 тыс. Ошибок страниц в секунду, в то время как память используется только около 50%. Средняя загрузка процессора составляет около 10% -20%. Я также попытался отключить файл подкачки (что не рекомендуется) без каких-либо улучшений и с той же частотой ошибок страницы. Программное обеспечение обычно использует все процессоры на обычном ПК.
Сделать вопрос применимым к другим
Ошибки страницы можно разделить на крупный и незначительный недостатки
Основные сбои страницы возникают, когда ваша программа или ее данные были выгружены на диск, и теперь их необходимо заменить. из диск. Эти сбои помечены как «серьезные», потому что переключение на диск и обратно происходит очень медленно по сравнению со скоростью процессора. Поскольку у вас много свободной оперативной памяти (около 50%), а полное отключение подкачки не привело к восстановлению производительности, я думаю, ваша проблема в не связанные с основными неисправностями.
Незначительные сбои страниц возникают, когда ЦП пытается получить доступ к адресу виртуальной памяти, который не находится в его небольшом быстром TLB-кеше, и в результате ему приходится искать более крупную (и более медленную) таблицу сопоставления, хранящуюся в известном адресе DRAM. При спорадическом запуске программы и / или при доступе к большому объему памяти ожидается большое количество мелких ошибок страниц. Эта проблема может усугубляться топологией NUMA с несколькими сокетами (та же, что используется вашим Opteron) при использовании с программами, не поддерживающими NUMA.
Если ваша программа не поддерживает NUMA, незначительные ошибки страницы может быть источником ваших проблем с производительностью. Чтобы иметь приблизительное представление, так ли это, попробуйте запустить программу на однопроцессорном компьютере (или отключите все сокеты, кроме одного на вашем сервере) и проверьте, не превышает ли загрузка ЦП больше ожидаемой.
В любом случае, только компания, производящая программное обеспечение (или кто-то, имеющий большой опыт работы с вашей конкретной программой), может полностью ответить на ваш вопрос.