There must be a reason but I wouldn't spend time to investigate the Total vs Physical values discrepancy. It is unrelated to your issue anyway.
You are confusing RAM and virtual memory in your statement:
Quote:
Solaris doing something like "eager ahead of time allocation", in the anticipation that it might need that memory in the future?
Allocation is done on virtual memory, not RAM. When a process is asking for 2 GB of memory, no RAM is involved. Only when that memory is written to or read from is does it need to be in RAM, and that won't be 2 GB but the memory pages accessed, not more.
Unlike Linux, AIX and others, Solaris doesn't overcommit memory so it is making sure all allocations are backed by either RAM or swap at allocation time.
On the opposite, Gnu/Linux doesn't do it so in case of memory shortage, is just killing otherwise healthy processes to free RAM which might not be what people expect from their OS.