
Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
Fragmentation doesn't mean that you have less memory available. It means you have plenty of free memory available, but it's split into a bunch of small, useless pieces. Have you ever played Diablo? Your inventory space is fragmented when you have six or more cells of empty space but they're not all together in one block big enough to pick up a piece of armor.
Memory fragmentation is not an issue on a modern operating system with virtual memory, like Windows, because the OS uses the CPU's paging hardware to rearrange memory in 4K pages. Even if an application decides to allocate a single 200MB block, that 200MB block in the application's virtual address space can be composed of pages scattered throughout physical memory. It is possible for physical memory to become fragmented in a way that prevents large physical allocations from succeeding, but those are only needed by drivers and physical memory can only be fragmented permanently by other physical allocations -- virtual memory allocations from applications can be relocated or paged to disk as necessary to make room.
It doesn't sound like raw memory usage is a problem, but there are other resources besides main memory that can cause system stability issues, such as GDI and USER resources, and if you are running Windows 95/98/ME, DOS memory below 1MB. There are various utilities that can report these totals; under Windows NT/2000/XP, Task Manager will report them if you enable the proper columns.
Note that if you have third party drivers or plugins loaded into VirtualDub, their resource usage will be included in VirtualDub's process; these include filters, audio/video codecs, and Avisynth. Avisynth in particular will consume a large amount of memory for its frame cache, ~25% of total RAM by default I believe; this is reclaimable and should go away when the script is closed.
Finally, if you are running Windows 98/ME, there are known stability problems with the kernel and large amounts of physical RAM (>512MB). The problem is that the large amount of physical RAM causes the virtual disk cache to grow very large; the VCACHE and AGP apertures are both mapped into the 1GB kernel address space and the small amount of remaining space can cause the kernel to fail erratically. See http://support.microsoft.com/kb/q253912/ for more details. |