Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
2-1260988667
Дмитрий
2009-12-16 21:37
2010.02.14
Заполнение массива из графика


15-1260377677
GDI+
2009-12-09 19:54
2010.02.14
Изомерия молекулы этилового спирта.


11-1208415384
MYRX
2008-04-17 10:56
2010.02.14
Вопросы к Старшим


2-1260955745
Wander
2009-12-16 12:29
2010.02.14
Консольная программа в Делфи


2-1260986848
Михаил Левшов
2009-12-16 21:07
2010.02.14
Как очистить все окошки редактирования на форме (TEdit)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский