Вход Связаться

Персональная страничка-блог

Куда уходит память? (о JVM)

Не так давно я написал статью про новый билд Eclipse PDT. Этот пост тоже напрямую касается эклипс. Уже давно я замечал подвисания эклипс вплоть до нескольких секнд и никак не мог понять в чем же дело (я с JAVA почти не знаком). Оказалось что дело напрямую связано с JAVA машиной.

Статья родилась после прочтения статьи Juho Mäkinen's "Crash course to Java JVM memory issues to sysadmins" и кое-каких тестов у себя на лаптопе.

В кратце:

Java резервирует память и делает её недоступной для системы. Когда JAVA машина достигает предела памяти она запускает процесс очистки который полностью останавливает исполнение JAVA кода.

Это причина остановки. Но кроме всего даже после очистки памяти она не становится сразу доступна в операционной системе! В операционку она возвращается порциями... Я не замерял в точности но примерно по 1М в минуту.

Цитата:
"The memory wont be released back to the OS until JVM exists, but the OS can swap the JVM memory out. Usually this is bad and you need to decrease the memory you give to the JVM."

Даже не знаю как резюмировать....

Вобщем стоит держаться совета из оригинальной статьи и просто не давать JAVA машине много памяти пусть варится в малом тазике. Но тут придётся видеть тормоза при (пере)индексации eclipse как минимум.

А ещё плохие новости для гентушников и других линуксойдов которые пользуют icedtea java <= 1.6 (1.7 в любом случае на JDK основан). Двухдневные испытания показали, что хотя icedtea аналогичен по скорости sun-jre, но выжирает в потенциале в 2-2.5 раза больше памяти у ОС.

Поэтому можете смело сносить icedtea и ставить sun-jre-bin и sun-jdk

Помощь по сайтам

Уважаемые посетители.

  • Если вы хотите создать WEB-сайт;
  • Если у вас есть сайт, и вы хотите его изменить/дополнить, но не знаете как;
  • Если у вас возникли какие-нибудь вопросы относительно настройки вашей CMS;

Вы можете абсолютно не стесняясь задавать мне вопросы я обязательно отвечу. Пишите ваши вопросы письмом по адресу Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .