LINUX.ORG.RU

nice памяти

 , ,


0

1

Есть-ли возможность не пускать процесс больше каких-либо рамок памяти? И на сколько это корректно?

Поясню ситуацию:

Есть сервер minecraft для своих,

Есть к нему генератор карт, tectonicus (делает карту сервера, которую можно выложить на веб-сервер)

Второй из них поедает память (java, -Xmx2G не спасло).

Через некоторое время ОС впадает в свап, что плохо сказывается на сервере игры.

Ubuntu 12/04

★★

Есть вроде бы ulimit

Насчёт корректности - лучше подправить в Java ещё и PermGenSize, не только размер кучи. Есть на это опция командной строки, -XX:MaxPermSize=32m, например.

Adonai ★★★
()
Последнее исправление: Adonai (всего исправлений: 1)
Ответ на: комментарий от Adonai

-XX:MaxPermSize=32m

При таком маленьком perm у него будет каждую минуту зависать с out of memory.

// Унылый пользователь atlassian продуктов.

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от Adonai

Спасибо, пока запустил по-новой так-же как было тектоникус (жре именно он), жду.

Вопрос - чем грозит такое ограничение? Оно в heap space не выпадет? Нужно чтобы оно работало постоянно, без участия меня.

chenger ★★
() автор топика
Ответ на: комментарий от chenger

По идее чуть больше тормозить будет, т.к. System.gc() будет чаще вызываться для сборки мусора.

И, если приложению нужно будет всё же больше классов хранить, чем указано, то вывалится в Out of PermGen.

Вообще, я, честно говоря, не представляю, отчего у Java-программ растёт PermGen space.

Adonai ★★★
()
Ответ на: комментарий от Frakhtan-teh

Да да типичный пример жабка памяти не жрет.

bhfq ★★★★★
()
Ответ на: комментарий от Adonai

Как от чего? Туда все классы классы загружаются и interned строки.
Ну и по дефолту оно не чистится GC. Более того, если в том же Tomcat Application Manager'е сделать Reload приложения, то PermGen тоже не будет чиститься, а просто загрузятся новые классы.

А по сабжу - может там memory leak в приложении?

kovrik ★★★★★
()
Ответ на: комментарий от kovrik

Всё, прочёл статью, разорбался.

А с Tomcat PermGen OOM сталкиваюсь чуть ли не каждый день на работе - думаю, и вы поэтому об этом упомянули

Adonai ★★★
()
Ответ на: комментарий от Adonai

Частый redeploy? Я уже давно в томкэте не лезу в админку. Если нужен redeploy, то просто делаю shutdown, потом startup (и то, иногда процесс не завершается почему-то. Приходится kill делать)

kovrik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.