开发者

Where did all the memory go?

We've built a windows service which uses some COM+ components (developed by us). It runs on a Windows server (virtual through vmware) and something is eating memory.

Memory check

I did a small application开发者_运维技巧 which runs through all Process.GetProcesses and return their total memory usage:

First run:

C:\Temp>ProcessExplorer.exe
Virtual: 1613Mb, Physical: 318Mb

Few minutes later:

C:\Temp>ProcessExplorer.exe
Virtual: 1492Mb, Physical: 48Mb

Task manager

Looking at processes in task manager I don't see any application with high memory usage. But If I look at the Performance tab, no memory is available.

Where did all the memory go?

I have let the server run a few days without our application and the memory usage was constant at about 30%. I turned on the application yesterday and the memory usage on the server had increased to about 60% a couple of hours ago.

So where did all the memory go? How do I find it? :)


Windows' Task Manager is a very limited tool - check out Process Explorer and perfmon.msc.


VmWare Tools created a Memory balloon to free up memory for another virtual machine. Seems like it's an bug in VmWare Tools since the virtual machine really needed that memory.

We've tried to turn of VmWare tools on that VM and everything works fine now.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜