Heap dump file size vs heap size


Do you know how heap dump file size is related to heap size itself?
I've multiple heap dumps created using jmap on Solaris using Sun JVM
1.5.0_09 and somehow filesize doesn't relate to heap size itself.

Disproportions are quite big actually (even 500MB - 1GB)