Is there a portable way, that works on both .Net and Mono on the various supported operating systems, for a program to tell how much RAM (i.e. physical not virtual memory) is available in the machine it's running on?
The context is a program whose memory requirement is "as much as possible please"; it needs to know how much memory it should aim to allocate, while stopping short of going into swap (thereby grinding to a halt and locking up the whole machine).