16,372
社区成员




我想通过下面这个函数获得分页 和 非分页
typedef struct _SYSTEM_PERFORMANCE_INFORMATION
{
LARGE_INTEGER IdleTime;//CPU空闲时间;
LARGE_INTEGER ReadTransferCount;//I/O读操作数目;
LARGE_INTEGER WriteTransferCount;//I/O写操作数目;
LARGE_INTEGER OtherTransferCount;//I/O其他操作数目;
ULONG ReadOperationCount;//I/O读数据数目;
ULONG WriteOperationCount;//I/O写数据数目;
ULONG OtherOperationCount;//I/O其他操作数据数目;
ULONG AvailablePages;//可获得的页数目;
ULONG TotalCommittedPages;//总共提交页数目;
ULONG TotalCommitLimit;//已提交页数目;
ULONG PeakCommitment;//页提交峰值;
ULONG PageFaults; //页故障数目;
ULONG WriteCopyFaults;//Copy-On-Write故障数目;
ULONG TransitionFaults; //软页故障数目;
ULONG Reserved1;
ULONG DemandZeroFaults;//需求0故障数;
ULONG PagesRead;//读页数目;
ULONG PageReadIos;//读页I/O操作数;
ULONG Reserved2[2];
ULONG PagefilePagesWritten;//已写页文件页数;
ULONG PagefilePageWriteIos;//已写页文件操作数;
ULONG MappedFilePagesWritten;//已写映射文件页数;
ULONG MappedFileWriteIos; //已写映射文件操作数;
ULONG PagedPoolUsage;//分页池使用;
ULONG NonPagedPoolUsage; //非分页池使用;
ULONG PagedPoolAllocs;//分页池分配情况;
ULONG PagedPoolFrees;//分页池释放情况;
ULONG NonPagedPoolAllocs;//非分页池分配情况;
ULONG NonPagedPoolFress; //非分页池释放情况;
ULONG TotalFreeSystemPtes;//系统页表项释放总数;
ULONG SystemCodePage; //操作系统代码页数;
ULONG TotalSystemDriverPages;//可分页驱动程序页数;
ULONG TotalSystemCodePages;//操作系统代码页总数;
ULONG SmallNonPagedLookasideListAllocateHits; //小非分页侧视列表分配次数;
ULONG SmallPagedLookasideListAllocateHits;//小分页侧视列表分配次数;
//ULONG Reserved3;
ULONG MmSystemCachePage;//系统缓存页数;
ULONG PagedPoolPage;//分页池页数;
ULONG SystemDriverPage; //可分页驱动页数;
ULONG FastReadNoWait;//异步快速读数目;
ULONG FastReadWait;//同步快速读数目;
ULONG FastReadResourceMiss;//快速读资源冲突数;
ULONG FastReadNotPossible;//快速读失败数;
ULONG FastMdlReadNoWait;//异步MDL快速读数目;
ULONG FastMdlReadWait;//同步MDL快速读数目;
ULONG FastMdlReadResourceMiss;//MDL读资源冲突数;
ULONG FastMdlReadNotPossible;//MDL读失败数;
ULONG MapDataNoWait;//异步映射数据次数;
ULONG MapDataWait;//同步映射数据次数;
ULONG MapDataNoWaitMiss;//异步映射数据冲突次数;
ULONG MapDataWaitMiss;//同步映射数据冲突次数;
ULONG PinMappedDataCount;//牵制映射数据数目;
ULONG PinReadNoWait;//牵制异步读数目;
ULONG PinReadWait;//牵制同步读数目;
ULONG PinReadNoWaitMiss;//牵制异步读冲突数目;
ULONG PinReadWaitMiss;//牵制同步读冲突数目;
ULONG CopyReadNoWait;//异步拷贝读次数;
ULONG CopyReadWait; //同步拷贝读次数;
ULONG CopyReadNoWaitMiss;//异步拷贝读故障次数;
ULONG CopyReadWaitMiss; //同步拷贝读故障次数;
ULONG MdlReadNoWait;//异步MDL读次数;
ULONG MdlReadWait;//同步MDL读次数;
ULONG MdlReadNoWaitMiss;//异步MDL读故障次数;
ULONG MdlReadWaitMiss;//同步MDL读故障次数;
ULONG ReadAheadIos; //向前读操作数目;
ULONG LazyWriteIos; //LAZY写操作数目;
ULONG LazyWritePages;//LAZY写页文件数目;
ULONG DataFlushes;//缓存刷新次数;
ULONG DataPages;//缓存刷新页数;
ULONG ContextSwitches;//环境切换数目;
ULONG FirstLevelTbFills;//第一层缓冲区填充次数;
ULONG SecondLevelTbFills;//第二层缓冲区填充次数;
ULONG SystemCall;//系统调用次数;
}SYSTEM_PERFORMANCE_INFORMATION,*PSYSTEM_PERFORMANCE_INFORMATION;
可获得的PagedPoolPage 的值 与系统自带的任务管理器 显示的分页 值有很大区别
不知道为什么?网上这方面的资料很少