this is because one is reporting the accurate actual memory free, and the other one is reporting the actual memory free minus the buffered/cached memory...
so gkrellm is the one telling you your
actual amount of free memory....memory management works different in linux than os's like windows by using buffers and cache...
use the command
free -m in the terminal and i'll use my output to show you what your looking for...
Code:
total used free shared buffers cached
Mem: 628 522 105 0 143 225
-/+ buffers/cache: 154 474
Swap: 1278 8 1269
as you can see i have 628 total, and it says that 522 is used and only 105 is free....but in actuality you can see that 143 is in buffers and 225 is in cache...now if you add my free + buffer + cache you will see that it adds up to 473, which is my actual amount of memory that is not being used by anything....
which brings me to the second row, which is the line you are interested in....
which shows that i really only have 154 megs of ram used with 474 megs free....
so realating to your figures the 76megs free is probably the actual amount free minus buffers/cache...
which if you add them numbers together you'll see 163 which is what gkrellm is reporting...
so run that command and check it out, and you should notice that the top command is reporting the number in the first row under the free column, and that gkrellm will report the amount in the second row under the free column...