Форум: "WinAPI";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];
ВнизОшибки страницы Найти похожие ветки
← →
alextim (2008-12-10 21:04) [0]Всем добрый день!
Мой код работает с файлами данных, смапированнными в страничной памяти - постоянно пишет-читает. Вроде бы все работает довольно стабильно. Недавно в Task Manager добавил колонку Ошибки страницы и обнаружил, что считчик ошибок за полчаса работы зашкаливает за десятки и сотни миллионов (!!!) и зависит от объема записанных/прочитанных данных.
Что это за ошибки такие? Как они влияют на работу системы и на ее стабильность? Нужно и их как-то избегать при написании кода? или может быть еще есть что-то еще серьезное, что я не спросил?...
← →
Сергей М. © (2008-12-11 08:37) [1]
> Что это за ошибки такие?
Это не баг, а фича
Тебя же не удивляет, что адресное пространство каждого процесса в Win32 равно 4 Гб, в то время как объем ОЗУ равен, скажем, 0.5 Гб, и при этом система нормально функционирует ?
← →
Skyle © (2008-12-11 08:45) [2]Эти ошибки означают, что страница памяти, к которой идёт обращение, в данный момент не готова общаться, например находится в свопе.
← →
Сергей М. © (2008-12-11 09:08) [3]
> alextim
Ликбез:
http://www.codenet.ru/progr/os/RAM/RAM-2.php
← →
alextim (2008-12-11 09:43) [4]>Сергей М. © (11.12.08 08:37) [1]
>Это не баг, а фича
>Тебя же не удивляет, что адресное пространство каждого процесса в Win32 равно 4 Гб, в то время как объем ОЗУ равен, скажем, 0.5 Гб, и при этом система нормально функционирует ?
Мой вопрос как раз в том, насколько эта ошибка является ошибкой в классическом понимании, т.е. приводящей к каким-то отказам? Если не трудно, причтите внимательнее вопрос. Я здесь не прошу лекцию читать об устройстве памяти Windows...
>Skyle © (11.12.08 08:45) [2]
>Эти ошибки означают, что страница памяти, к которой идёт обращение, в данный момент не готова общаться, например находится в свопе.
Что значит "страница не готова общаться", если я принудительно не сбрасываю ее на диск, никаких исключених по ходу выполнения не возникает и результат работы кода именно тот, что мне был нужен?
← →
Skyle © (2008-12-11 10:05) [5]Эта ошибка не является
> ошибкой в классическом понимании, т.е. приводящей к каким-
> то отказам
← →
Сергей М. © (2008-12-11 10:19) [6]
> насколько эта ошибка является ошибкой в классическом понимании
Считай что к классике прикладного программирования эта ошибка не имеет ни малейшего отношения.
> Что значит "страница не готова общаться"
Это значит, что страница вирт.памяти, к которой осуществляется попытка обращения, не отображена на станицу физ.памяти.
← →
alextim (2008-12-11 14:43) [7]> Это значит, что страница вирт.памяти, к которой осуществляется попытка обращения, не отображена на станицу физ.памяти.
Я так понимаю, что это стандартная ситуация для любого не сильно активного процесса. Допустим я запустил Фотошоп, открыл там несколько изображений и свернул на некоторое время. ОС должна слить часть памяти, занимаемой этим роцессом в своп с течением времени, а затем, при активации окна заново переместить ее в оперативную память, а страницы другого процесса - наоборот, слить на диск. Так? И что в этом криминального? Или это не тот случай?...
← →
alextim (2008-12-11 14:44) [8]В этом случае у процесса фотошоп тоже будет увеличиваться счетчик ошибок страницы?
← →
Сергей М. © (2008-12-11 15:49) [9]
> Так?
Ну в первом приближении так.
> Или это не тот случай?
Не тот, но смысл тот же.
> что в этом криминального?
Ничего. А причем здесь криминал ?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c