Утечка памяти в Java / Tomcat в RedHat Linux? - PullRequest
5 голосов
/ 01 июня 2010

У меня есть Red Hat Box с 6G памяти под управлением Tomcat, и я пытаюсь выяснить, сколько памяти у меня осталось на коробке. Проблема в том, что top & jconsole показывает одну цифру (около 200M), а системный монитор показывает другую цифру (около 2G). Кто-нибудь знает, в чем разница?

Я не уверен, что здесь происходит утечка памяти, но наибольшим потребителем памяти является процесс tomcat, который занимает 2,2 ГБ памяти.

Скриншоты ниже: alt text alt text alt text alt text alt text

Добавлен бесплатный скриншот команды: alt text

Ответы [ 3 ]

4 голосов
/ 01 июня 2010

Очевидно, что top говорит вам, что Tomcat использует только 38% доступной памяти. Ваша проблема (если есть проблема) связана с тем, что использует оставшиеся 62% памяти.

Я подозреваю, что он используется для кэширования дискового блока / файловой системы. (Запустите команду free, и я ожидаю, что вы увидите высокое значение для «кэшированного», которое примерно соответствует размеру пропущенных страниц.)

Если ваша система имеет большое количество страниц в кэше, это ХОРОШАЯ ВЕЩЬ . Все эти закешированные блоки диска сделают доступ на чтение вашей файловой системы приятным и быстрым. (И если ОС нужны физические страницы для чего-то более важного ... например, для запуска приложений ..., она может быстро восстановить их из дискового кэша.)

1 голос
/ 01 июня 2010

Что означает "free -t"? Интересно, включает ли одна из фигур данные кэшированной файловой системы (которая использует память в том смысле, что она физически используется для чего-то, но свободна в том смысле, что она может быть очищена в любой момент в случае необходимости).

1 голос
/ 01 июня 2010

системный монитор показывает, как память используется процессом tomcat, который составляет 2G [выделен максимальный размер кучи, установленный вами].

в Linux попробуйте сравнить его с free -m, который показывает текущую свободную память.

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