Какой объем памяти должен быть оставлен ОС с приложением сервера Java? [закрыто]

Предположим, я запускаю tomcat с -Xms256m -Xmx1024m, но хотел бы увеличить использование кучи.

Каков самый большой размер безопасной кучи, который я могу выделить?

Для ответа на этот вопрос предположим, что система имеет 5 ГБ ОЗУ и является системой z / Linux. Однако, если возможно, я хотел бы получить более широкий практический ответ.

Также, если это дубликат, извините. Я был удивлен, что не нашел дополнительной информации об этом.

Не дубликат: Я смотрел здесь , однако его ответ кажется всего лишь предположением, без резервной копии. Другие ответы на этот вопрос не очень ясны и / или не относятся к моей проблеме. 1) Я не использую 32-битную оконную систему, 2) Я не спрашивал о PermGen, хотя это может быть упомянуто в хорошем ответе, 3) В третьем ответе говорилось: «Наконец, вы также должны принять во внимание другой вещи, которые работают на сервере и которым тоже нужна оперативная память », но это не точный ответ. Меня пока просто беспокоит использование памяти ОС.

Изменить: Это специализированная система, поэтому меня больше всего беспокоит использование памяти ОС. Меня не волнуют другие программы.

GC

2
задан 13 April 2017 в 15:14
1 ответ

Максимальный размер кучи, который вы захотите назначить, будет зависеть от использования вашей системой собственных ресурсов, других сервисов, которые вы запустили и т.д. Вы хотите назначить размер кучи, который оставит операционной системе достаточно памяти для предотвращения ненужных подкачек памяти. Это скорее проблема в Windows, но проблема видна и в Linux (я скорее эксперт по Windows, чем по Linux, так что извините за это)

Во-первых, вы хотите проверить использование ресурсов вашей системы: http://www.cyberciti.biz/faq/linux-check-memory-usage/

Далее вы хотите посмотреть, как настроен файл вашей страницы: http://www.cyberciti.biz/faq/linux-check-the-size-of-pagesize/

Затем вам нужно попробовать различные конфигурации, основанные на собранной ранее информации, и посмотреть, как используется файл страницы: http://www.cyberciti.biz/faq/linux-check-swap-usage-command/

Если файл вашей страницы много используется, то размер вашей кучи слишком велик. Если он используется очень мало, или не используется вообще, вы можете попробовать увеличить размер кучи для повышения производительности (Фактические результаты производительности будут варьироваться в разных Java-приложениях, и увеличение размера кучи может заставить некоторые приложения работать хуже из-за того, как они запрограммированы).

Вы хотите убедиться, что вы назначили соответствующий объем памяти, так что ваша операционная система будет иметь достаточно свободной оперативной памяти, чтобы легко поддерживать файл страницы, и ваше приложение имеет много памяти, отведенной для него. В Windows я стараюсь поддерживать как минимум 25% свободной оперативной памяти под нагрузкой. Я бы попробовал различные конфигурации и следил за производительностью вашей системы.

ONE MORE IMPORTANT NOTE THOUGH: В Java 8 вам вообще не нужно определять эти элементы, Java 8, кажется, лучше поддерживать эти значения самостоятельно, вместо того, чтобы статически назначать их.

1
ответ дан 3 December 2019 в 12:46

Теги

Похожие вопросы