CacheSet utility
by Mark Russinovich
(updated)
CacheSet_v1d.rar/tgz (18.9 Kb/19.8 Kb)
Старая добрая утилита для управления системным кешем для NT-семейства.
В w2k появилась дополнительная информация о кеше. Собственно ее отображение
и было добавлено.
Исходники:
CacheSet_v1d_src.rar/tgz (7.6 Kb/7.7 Kb)
Подробности
Раньше (до NT4 включительно) функция NtQuerySystemInformation() по запросу
#define SYSTEMCACHEINFORMATION 0x15
заполняла структуру следующего формата:
typedef struct {
ULONG CurrentSize;
ULONG PeakSize;
ULONG PageFaultCount;
ULONG MinimumWorkingSet;
ULONG MaximumWorkingSet;
ULONG Unused[4];
} SYSTEM_CACHE_INFORMATION, *PSYSTEM_CACHE_INFORMATION;
В w2k было изменено значение некоторых полей (конечно же недокументировано).
Изменение было опубликовано только в XP DDK.
typedef struct {
ULONG CurrentSize;
ULONG PeakSize;
ULONG PageFaultCount;
ULONG MinimumWorkingSet;
ULONG MaximumWorkingSet;
ULONG TransitionSharedPages;
ULONG PeakTransitionSharedPages;
ULONG Unused[2];
} SYSTEM_CACHE_INFORMATION, *PSYSTEM_CACHE_INFORMATION;
Вместе с этим изменилось назначение параметра System Cache в Task Manager.
Раньшн это был объем файлового кеша (CurrentSize и PeakSize). В w2k
стала отображаться сумма файлового кеша и объема памяти, занимаемой
загруженными dll'ами процессов. Примечательно то, что после завершения
процесса эта память автоматически не освобождается довольно длительное время.
Это выражается в постоянно растущем объеме System Cache, а при shutdown'е
- в виде страшных тормозов даже при использовании Fast Reboot.
2004.03.30
|