Есть ли хороший способ получить оставшуюся память в JVM во время выполнения? Предпосылкой для этого было бы иметь веб-службы, которые изящно терпят неудачу, когда они приблизятся к их ограничениям памяти, отказываясь от новых соединений с хорошим сообщением об ошибке "слишком много людей, использующих это, повторите попытку позже", вместо того, чтобы внезапно умереть с ошибкой OutOfMemory.
Обратите внимание, что это не имеет никакого отношения к вычислению/оценке стоимости каждого объекта заблаговременно. В принципе, я мог бы оценить, сколько памяти мои объекты берут и отказываются от новых соединений на основе этой оценки, но это кажется хаккой/хрупкой.