Назад | Перейти на главную страницу

Оптимизация программных ошибок страницы

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

Затем я прочитал в Интернете, что большинство современных процессоров могут обрабатывать большое количество программных сбоев страниц, но нигде я не могу найти, сколько было бы большого количества ... это приложение набирает от 3000 до более 7000 ошибок страниц в секунду.

Итак, мне нужно беспокоиться о таком количестве программных ошибок страниц в секунду?
Есть ли заметное снижение производительности при таком уровне ошибок?
Могу я как-нибудь его оптимизировать?

заранее спасибо

Основываясь на предоставленных вами фактах, я думаю, что упомянутое приложение выполняло быстрое выделение памяти (например, malloc ()). Кажется, что он выделил блок, возможно, освободив его, а затем снова выделил. Обычно распределитель памяти сохраняет освобожденные блоки памяти в кеше, но в вашем случае может случиться так, что они были принудительно освобождены.

Я думаю, здесь мало что можно сделать, поскольку мы имеем дело с поведением приложения, а не с ядром или другим аспектом. Однако я думаю, что ситуацию можно изменить, используя другой распределитель памяти. Попробуйте погуглить "распределитель памяти". Например, в Linux распределителем памяти по умолчанию является ptmalloc. Пример альтернативы: http://goog-perftools.sourceforge.net/doc/tcmalloc.html