Виртуальная память отображает адресное пространство процесса на физические страницы и другие backing-объекты. Minor fault обрабатывается без загрузки страницы с диска, major fault требует соответствующего I/O.
Как устроен механизм виртуальной памяти в Linux и чем Major Page Fault отличается от Minor Page Fault?
Виртуальная память отображает адресное пространство процесса на физические страницы и другие backing-объекты. Minor fault обрабатывается без загрузки страницы с диска, major fault требует соответствующего I/O.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Виртуальная память отображает адресное пространство процесса на физические страницы и другие backing-объекты. Minor fault обрабатывается без загрузки страницы с диска, major fault требует соответствующего I/O.
Страницы могут предоставляться по требованию, разделяться между процессами или копироваться при записи. Minor fault встречается, например, при создании zero-filled страницы или установке отображения уже доступной страницы; major — при подгрузке файла или страницы из swap. Page fault не обязательно ошибка программы: это штатный механизм. Нарушение доступа к недопустимому адресу — другой случай. Для диагностики смотрите частоту faults, RSS, swap и I/O вместе: один высокий счётчик без контекста не доказывает дефицит RAM.