determining memory availability on distributed machines