Windows server 2003 fragments memory

We are having some OS fragment memory issues and 2003 doesn't defragment it for use again.  We are looking to upgrade to windows 2008 but want to know if the memory defrag issues are resolved or if/how they are working now.

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Can you clarify exactly what kind of fragmentation you are concerned about. Your question is very vague. Physical memory fragmentation has never been an issue on the NT platform. An applications virtual address space can become fragmented but there isn't much the OS can do about that. That is more an application problem. Fragmentation in one process has no influence whatsoever on any other. This is not an issue at all with a 64 bit OS unless you are dealing with extremely large datasets.

PaulconsultingAuthor Commented:
here is our issue:

Say for example a process asks the OS (which has 1gb of ram) for 200mb, then 200mb, then 200mb
in-between each of those is 200mb of free space in the OS
so after the calls the memory then looks like:
[allocated 200mb] [free 200mb] [allocated 200mb] [free 200mb] [allocated 200mb]
Then the process asks for 300 mb.
There is 300mb free, but not 300mb *contiguous*.

So the OS returns a failure.

I've heard that Windows 2003 server does not automatically defragment/conslidate in-use memory, but that various other platforms do. I was wondering if 2008 has any improvements in the memory handling area.
Server 2008 does not do any kind of virtual address space consolidation. I am not aware of any platform that does this, certainly no version of Windows. Windows 3.1 did this with the physical address space  - there was no virtual address space. But this required the direct cooperation of applications and is very difficult to reliably implement on a preemptive multitasking OS.

The problem with consolidating address space is that the process will typically have a large number of references to memory blocks. If they were moved the application would fail. Fragmentation is rarely a problem, except for those applications that require allocation of large contiguous memory blocks.

You should be aware that each process has a private 2GB address space that is totally independent of RAM size. Fragmentation in one address space has no effect whatsoever in the address space of other processes.

With 64 bit Windows the process address space becomes 8192 GB, which effectively solves the fragmentation problem. This is completely independent of RAM size. If you are going to Server 2008 it should be 64 bit.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
PaulconsultingAuthor Commented:
thanks for the info
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2008

From novice to tech pro — start learning today.