Использует ли Windows XP вызовы функций файловой системы NTFS для чтения / записи в файл подкачки (pagefile.sys)? - PullRequest
3 голосов
/ 18 ноября 2008

Если да, то как вы оправдываете понесенные накладные расходы (ведение журнала и т. Д.)? Если этого не произойдет, то почему файл страницы будет фрагментирован? Кроме того, может ли увеличение размера кластера улучшить производительность файла подкачки (свободное пространство в кластере не является проблемой)?

Ответы [ 2 ]

1 голос
/ 13 января 2010

Система использует вызовы файловой системы для доступа к файлу подкачки, как и должно. Накладные расходы на ведение журналов и тому подобное по существу равны нулю. Ведение журнала вступает в силу только при изменении структуры файловой системы, а не для отдельных операций чтения или записи. По умолчанию XP использует полуфиксированный файл подкачки с начальным размером, установленным в 1,5 от размера физической памяти. При нормальных условиях файл подкачки никогда не будет меньше этого. Если этого размера достаточно, и при разумном размере оперативной памяти это почти всегда будет иметь место, размер файла подкачки никогда не изменится. Только в этом маловероятном событии будут выделены новые кластеры для файла подкачки, и будет возможность фрагментации. После перезагрузки или раньше все расширения файла подкачки будут выпущены, и он вернется к своему первоначальному размеру. При нормальных условиях фрагментация не происходит. Если файл подкачки изначально не фрагментирован и изменение размера не происходит, файл подкачки НИКОГДА не фрагментируется.

Файл подкачки используется более или менее непрерывно для хранения редко используемых данных. Эти записи выполняются в периоды низкой загрузки ЦП и диска, поэтому не влияют на производительность. Поскольку используемые данные используются редко, доступ к файлу подкачки редко оказывает серьезное влияние на производительность. Файл подкачки - это не просто область переполнения, которая используется при нехватке памяти. В большинстве случаев файл подкачки повышает производительность, освобождая ОЗУ от необходимости обрабатывать статические данные в течение длительных периодов времени.

1 голос
/ 18 ноября 2008

Вы можете увидеть filemon или procmon (sysinternals.com), чтобы увидеть запись операционной системы в файл подкачки - поэтому она должна использовать соответствующую семантику файловой системы.

Если вы меняете местами из-за нехватки памяти, вы уже проиграли битву за производительность, и накладные расходы не увеличат потери (но это будет означать, что ваша файловая система не повреждена). Если подкачка не критична по производительности, кого волнует предельная производительность для журналирования?

Размер кластера вряд ли будет проблемой, потому что он просто сопоставляется из индекса-> хранилища на диске. Файл подкачки очень редко меняет размер, поэтому индекс вряд ли когда-либо изменится.

...