Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.12.2011, 22:08
Hypo Hypo вне форума
Прохожий
 
Регистрация: 20.12.2011
Сообщения: 1
Репутация: 10
Восклицание Количество Page Faults

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

А теперь вопрос: имеются ли способы сократить количество страничных ошибок? Какие вы знаете подводные камни, связанные с этим?

Последний раз редактировалось Hypo, 20.12.2011 в 22:12.
Ответить с цитированием
  #2  
Старый 20.12.2011, 22:42
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

#PF возникает в основном тогда, когда:
1) ОС выгрузила страницу, и она не присутствует в памяти
2) Нарушение привилегий доступа (а также запись в Read-only страницы)
3) Несуществующая страница.
Если я правильно понял вопрос, то интересует первый пункт, т.к. остальные обычно приводят к феилу.
ОС выгружает страницы, которые давно не использовались. Вывод: использовать их чаще.
А на самом деле писать код так, чтобы сначала он работал с одним набором страниц, потом с другим, потом с третьим, ... и не скакал по куче огромных динамических массивов из конца в конец.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 20.12.2011 в 22:51.
Ответить с цитированием
  #3  
Старый 20.12.2011, 22:57
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от BargestА
... на самом деле писать код так, чтобы сначала он работал с одним набором страниц, потом с другим, потом с третьим, ... и не скакал по куче огромных динамических массивов из конца в конец.
Видно разработчики Microsoft об этом не знают, у них что не сервис, так куча Page faults страниц.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #4  
Старый 20.12.2011, 23:00
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Их принцип - "Моя система, че хочу, то и делаю!"
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:39.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter