2015-10-12 3 views
-1

У меня небольшой сервер Linux (VPS) с 1 ГБ оперативной памяти. Я хочу предоставить только виртуальную машину Java. Только 256 МБ. . Есть ли возможность ограничить Java VM этим размером памяти, поэтому, когда я преследую этот предел Я начинаю ловить OutOfMemory ExceptionУстановить максимальный размер памяти Java VM

Основная проблема, заключающаяся в том, что при превышении нагрузки на memroy я вернусь к ошибке перегрузки, и это принятый ответ, но проблема Java продолжает расти, сохраняя системную память, которая должна быть свободной для других программ силой !!

Да, мне нужно свести к минимуму память, потому что сервер не предназначен только для Java, и превышение памяти для мешка Java не является вариантом.

и если нет возможности Java таким образом, я должен пойти на C++ для Linux Develpment, complixety, резьбе или управление памятью не является проблемой, так как эта программа Java просто самоотверженную службу

+3

-Xmx256m является вариантом. –

+0

Его большой секрет, но Oracle действительно обеспечивает документацию. http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html. что не является секретом, тысячи ссылок, которые предоставляет Google go, когда вы ищете «конфигурацию Java-памяти» или любой ее вариант. – Gimby

+0

Кроме того, не пытайтесь перехватывать исключения OutOfMemory (обычно ошибка). Очень маловероятно, что вы сможете оправиться от него. –

ответ

0

Вы можете управлять в Java размер кучи при запуске с параметром -Xmx. В вашем случае это будет -Xmx256m.

0

Необходимый вариант: -Xmx256m.

Чтение документации JVM в

-Xmx [г | G | т | М | к | K] Этот параметр задает максимальный размер Java кучи. Куча Java («куча») является частью памяти, где блоки памяти выделяются объектам и освобождаются во время сбора мусора. В зависимости от типа операционной системы, которую вы используете, максимальное значение , которое вы можете установить для кучи Java, может варьироваться.

+0

Попробуйте выполнить эту команду, чтобы выбросить ошибку OutOfMemeroy
java -Xms1M -Xmx1M -Xss1M -jar program.jar
no free -m показывает, что система использует более 60 МБ памяти и освобождает ее после убийства Java VM !! –

Смежные вопросы