However, what puzzles me is that the memory used is not accounted for, ie, you can manually add the memory used by all the processes and it won't be equal to what's reported as used.
Now, i know about the caching used in linux, but that's not the case here: something chews up active resources, and never lets go of them.
What's even wierder is that if i request the kernel to free caches, it releases active memory!
For example:
- Code: Select all
# free -m
total used free shared buffers cached
Mem: 3004 2932 72 0 773 863
-/+ buffers/cache: 1295 1709
Swap: 3991 0 3991
# sync; echo 3 > /proc/sys/vm/drop_caches
# free -m
total used free shared buffers cached
Mem: 3004 878 2126 0 3 221
-/+ buffers/cache: 653 2351
Swap: 3991 0 3991
As you can see, requesting drop_caches frees a whopping 600 MB of user memory! That, on a 3 GB computer, is a lot.
I haven't been able to pinpoint what's using up the memory, but i can say for sure it rises a lot when running disk-intensive programs like msec. Any ideas?