Я использую веб-приложение игровой платформы, вызывающее веб-службы, все эти приложения развернуты на одном сервере tomcat / apache, когда в производственной коробке запускается несколько процессов для tomcat, которые занимают один и тот же MEM%, который можно проверить с помощью команды top. Когда сервер только запускается, имеется около 15 процессов, которые занимают 22% MEM (800 мбайт RES), а при попадании в приложение количество процессов увеличивается примерно до 30-35.
Как вы можете видеть, RES (использование резидентной памяти) составляет от 880 МБ до 1,2 ГБ, в то время как максимальная память, выделенная для tomcat, составляет 256 МБ с использованием -XX: PermSize = 256m -XX: MaxPermSize = 256m
Всего в этом экземпляре tomcat развернуто 3 войны веб-приложений и 3 войны сервисов.
ПОЖАЛУЙСТА, ОБЪЯСНИТЕ, КАК Я МОГУ СНИЗИТЬ ИСПОЛЬЗОВАНИЕ ПАМЯТИ И ПРОЦЕСС ДЛЯ ДАННОГО ПРИЛОЖЕНИЯ ???
ПОСЛЕ ЗАПУСКА СЕРВЕРА
наверх - 01:33:42 вверх 59 дней, 1 мин, 11 пользователей, средняя нагрузка: 4,76, 4,49, 3,29 Задачи: всего 1496, 1 работает, 1493 спящего режима, 0 остановлено, 2 процессора-зомби: 31,3% us, 1,9% sy, 0,0% ni, 64,8% id, 1,0% wa, 0,2% hi, 0,8% si, 0,0% st Mem: всего 3759600k, использовано 3707492k, 52108k свободно, 57912k буферов Swap: всего 6313480k, использовано 3353744k, свободно 2959736k , 155216k кэшировано
PID ПОЛЬЗОВАТЕЛЬ PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND
23070 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23071 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23072 разрешение 20 0 1330m 931m 9316 S 0 25.4 3: 29.07 java
23073 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 06.84 java
23074 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 06.98 java
23075 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 28.86 java
23076 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.04 java
23077 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.16 java
23078 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23079 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 55.73 java
23080 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 52.07 java
23081 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23082 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.12 java
23083 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23085 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23647 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23883 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23885 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23887 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
23893 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
24114 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
24122 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
24123 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
24126 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
24354 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
24375 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
24778 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
24843 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25059 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25069 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.04 java
25070 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25071 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 02.62 java
25072 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.86 java
25073 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.40 java
25076 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25077 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25078 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25079 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25080 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25559 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25560 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25561 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
25562 разрешение 20 0 1330m 931m 9316 S 0 25.4 0: 00.00 java
17792 разрешение 20 0 86728 6376 1716 S 1 0,2 2: 06,83 питон
17793 разрешение 20 0 86728 6376 1716 S 0 0,2 0: 00,04 питон
17794 разрешение 20 0 86728 6376 1716 S 0 0,2 0: 07,62 питон
25340 разрешение 20 0 2868 1840768 R 1 0,0 0: 01.02 наверх
17791 разрешение 20 0 13724 1428 1428 S 0 0,0 0: 00,14 питон
Не совсем проблема с Tomcat, а с (Oracle) JVM. MaxPermSize устанавливает размер постоянный поколение, используемое для загрузки класса, а затем куча, которая обычно больше. И это (плюс собственная память) - это то, что использует оставшуюся память.
См. Например это сообщение в блоге