I'm trying to figure out why my Asus wl500g V2 keeps blocking, presumably because it runs out of memory as 'free' shows there's no memory left.  The problem is all the utilities I've tried to determine which processes are consuming resources seem to be very inaccurate.  For example, I'm trying to test a program that I wrote to see how much memory it's using.  'free' shows there's 9MB of RAM free.  i run my app, then run free again and it shows there's 7.5MB free.  So my app is using 1.5MB it would seem.  But, top, ps, cat /proc/[pid]/status all say that my program is using 9.5MB. That seems impossible because the program is running fine, there is 7.5MB free, and there was only 9MB to start with, so how could it be using 9.5MB?  I've also been searching the forums trying to figure out how to add valgrind to the image, but with no success.  Has anybody found any resources that explain how to check for memory usage/leaks on the openwrt platform?