2010-08-31 326 views
0

我想监视Windows 2003服务器上的交换空间使用情况。如果10分钟内使用率超过80%,则会产生警报。 RAM有很多工具,但交换使用情况如何?我如何模拟这种情况并进行测试?如何找出Windows上的交换空间使用情况

+0

我假定你正在寻找一个编程解决方案。否则,这个问题会在serverfault.com上得到更好的询问 – 2010-08-31 05:16:00

+0

@Preet:实际上我正在寻找一种测试交换空间使用情况的解决方案(即写一个程序来动态地改变它的使用率到60%)。尽管感谢您的回答。这是有用的信息。 – 2010-08-31 19:14:15

回答

1

强制使用页面文件。开始提交内存。使用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。所有你需要的是创建一个窗口服务,读取信息,然后响铃相应的警报。

的.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).aspxhttp://msdn.microsoft.com/en-us/library/aa373214(v=VS.85).aspx

相关问题