Joined: 19/03/2008 18:27:35
A few people have contacted me with concerns about the amount of memory that Bitmeter is using - there are a few things to be aware of regarding the memory usage:
1. Memory usage reported by Windows Task Manager in XP is (by default) the size of the process' 'Working Set', which includes memory shared by other processes (including the .NET Runtime). Windows may also allocate extra memory to a process in case it is needed, this is also included in the Working Set figure. The memory usage figure reported in Windows Vista is the 'Private Working Set' which will be smaller - there's a nice explanation of the difference between the two here http://cybernetnews.com/2007/11/20/cybernotes-windows-memory-usage-explained/.
2. Applications that use the .NET framework (such as Bitmeter) always have a relatively high memory footprint compared to native applications, this isn't something I can change by altering the code in Bitmeter, its just a consequence of the platform that I have used to develop it. I would expect the normal Working Set memory usage for Bitmeter to be between 25-35MB, if this is too much for your liking then you will have to find a non-.NET alternative, there's nothing I can do to reduce it.
3. If Bitmeter is using much higher amounts of memory then this can be caused by having the graph window set to a very large size - try reducing it and see if memory usage is affected.
4. If memory usage is high and the graph window size is small then try to determine if the memory usage is consistently high, or if it goes up and down a lot. If it stays high then there may be a problem - contact me or post on this thread. If the memory usage has high peaks and then drops down to 'normal' levels this is probably nothing to worry about - the .NET runtime often allocates extra spare memory to running processes in case it is needed, and will give it back to Windows if it is needed by another process, as long as your system performance is not affected then this should be fine.
There's a nice explanation of memory usage in .NET applications here: http://www.itwriting.com/dotnetmem.php