Использование памяти JBoss? - PullRequest
0 голосов
/ 21 октября 2009

Когда я запускаю пустой JBoss 5.1, он использует этот объем памяти:

  1. в конфигурации по умолчанию
    В Windows ~ 530 МБ
    В AIX ~ 220 МБ

  2. в веб-конфигурации
    В Windows ~ 320 МБ
    В AIX ~ 100-130Mb

Почему такая большая разница между использованием памяти в AIX и Windows?
Версии JBoss одинаковы.
Java 1.5.

Ответы [ 2 ]

3 голосов
/ 21 октября 2009

Может быть, это потому, что run.bat и run.sh написаны разными людьми. Эти настройки в любом случае являются только начальными настройками, никто не может предсказать, что будут делать пользователи и какие настройки им понадобятся. Просто забудьте разницу, настройте ее в соответствии с вашими потребностями.

РЕДАКТИРОВАТЬ: Согласно комментарию, настройки JVM одинаковы для Windows и AIX. Однако параметры ms и mx не имеют одно и то же значение, поэтому размер кучи будет увеличиваться со временем, если потребуется, и предсказать, как и когда, довольно сложно (это зависит от использования). Я бы использовал те же значения для ms и mx, чтобы избежать этого.

Тем не менее, инструмент мониторинга операционной системы (Windows Permon или диспетчер задач или ps / top в Unix) сообщает о размере памяти процесса JVM (то есть java.exe в Windows и java в Unix).

Память процесса [...] включает в себя кучу объектов плюс дополнительное пространство памяти из-за исполняемого файла процесса, пространства стека среды выполнения потока, пространства кучи объекта потока, любого пространства, занятого JNI, и объектов, созданных из JNI, а также любые другие пространства JVM, такие как пространство PERM, где классы загружаются в большинстве JVM. [...] Используйте монитор ОС для наблюдения за размером процесса и убедитесь, что он удобно помещается в ОЗУ.

Но, на самом деле, из-за того, как каждая ОС управляет памятью, я не уверен, ps и диспетчер задач сообщит о том же.

Некоторые ссылки:

EDIT2: Проверка того, что ваш процесс JVM удобно помещается в ОЗУ, это одно. Но проверка того, что ваша JVM хорошо настроена (например, не слишком длинный основной сборщик мусора) - это совсем другое. Вы не будете измерять вторую вещь с помощью ps или диспетчера задач, вам нужно профилировать вашу кучу для этого.

2 голосов
/ 21 октября 2009

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

Кроме того, разные JVM имеют разные конфигурации памяти по умолчанию, у AIX по умолчанию может быть намного меньше, чем у Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...