Just like any 32-bit OS without bad tricks, GNU Mach can not cope well with lots of memory. Latest versions of the Debian gnumach package will limit themselves to around 1.7 GiB of memory. If you want more, you can twiddle the VM_MAX_ADDRESS limit between kernelland and userland in i386/include/mach/i386/vm_param.h.

If you have an older version, or still experience problems with vmstat (see above) reported much less memory than you have, the best is to limit the memory it can see via GRUB's upppermem feature. Add uppermem 786432 to GRUB's Hurd entry in menu.lst.