我想在Windows 2003服务器上进行monitore交换空间使用。如果10分钟内使用率超过80%,将产生警报。 RAM有很多工具,但交换使用情况如何呢?我如何模拟这种情况并进行测试?
答案 0 :(得分:1)
强制使用页面文件。开始致力于Memmory。使用VirtualAlloc api电话:
LPVOID WINAPI VirtualAlloc(
__in_opt LPVOID lpAddress,
__in SIZE_T dwSize,
__in DWORD flAllocationType,
__in DWORD flProtect
);
并将flAllocationType设置为MEM_COMMIT (0x1000)
,这应该启动正在使用的内存。一旦内存耗尽,就应该自动使用页面文件。我怀疑你必须开始测量使用情况,然后启发性地确定你需要使用百分比的时间。
要监控它,请阅读性能计数器。页面文件集具有您可以读取的%使用率计数器。 Start here on how to consume them。您所需要的只是创建一个读取信息的Windows服务,然后响铃相应的警报。
.Net:http://blogs.msdn.com/b/bclteam/archive/2006/06/02/618156.aspx C ++:http://msdn.microsoft.com/en-us/library/aa373219(v=VS.85).aspx或http://msdn.microsoft.com/en-us/library/aa373214(v=VS.85).aspx
答案 1 :(得分:1)
使用内置性能计数器。您可以通过WMI / Win32_Perf:
获取它们http://msdn.microsoft.com/en-us/library/aa394270%28v=VS.85%29.aspx
或原始性能计数器/注册表接口:
http://msdn.microsoft.com/en-us/library/aa373083%28v=VS.85%29.aspx