Using SetProcessWorkingSetSize or EmptyWorkingSet

Everseen memory usage of a program go down as soon as it’s minimized. Well how to achieve this programmatically?

Call SetProcessWorkingSetSize or EmptyWorkingSet.


[sourcecode language=’cpp’]SetProcessWorkingSetSize( GetCurrentProcess(), -1, -1 );
EmptyWorkingSet( GetCurrentProcess() );[/sourcecode]

MSDN: If both dwMinimumWorkingSetSize and dwMaximumWorkingSetSize have the value -1, the function temporarily trims the working set of the specified process to zero. This essentially swaps the process out of physical RAM memory.

Caution: Read MSDN carefully before you start using this function, there are some caveats which should be carefully considered.

Appreciate your comments...