There are two different, though I believe related, issues I have with how Windows Server 2003 handles processes's working sets.
First, there are GUI applications running on the console session whose working set is trimmed, when their top-level window is minimized. I know it's rather unusual to have server processes running with a GUI, but these are legacy applications doing important things that I cannot do anything about.
Second, there is a long running database server that allocates a lot of memory when a client connects, but doesn't touch that memory until another client connects. In the mean time, several days may pass and the operating system seems to think that is reason enough to trim that process's working set.
In both cases, there is plenty of physical RAM available (several GB more than the applications would need), so I would like Windows to not trim their working sets. Is there a setting to configure this? These are all third-party applications, so changing memory allocation or locking pages in memory aren't viable options.