как освободить память после выполнения java-программы

Я запланировал запуск файла jar при запуске системы, который использует mysql.

он используется для перемещения тысяч записей из одной БД в другую, во время каждого выполнения он занимает много памяти процессора, но после завершения (выполнение успешно завершено) он никогда не освобождает занятую память процессора до перезагрузки системы.

и эта банка должна запускаться каждые 4 часа. Как я могу освободить эту занятую память?

-- Спасибо, Ману

Спасибо за ваш интерес :)


person manurajhada    schedule 06.07.2011    source источник
comment
Память, потребляемая JVM, всегда освобождается при завершении процесса. Возможно, вы не завершаете JVM в первую очередь.   -  person Vineet Reynolds    schedule 06.07.2011
comment
ЦП или память? Как вы наблюдаете, что память не освобождается? Вы уверены, что утечка памяти здесь подходит?   -  person user unknown    schedule 06.07.2011
comment
как именно вы узнали, что память не освобождается?   -  person unbeli    schedule 06.07.2011
comment
начните с закрытия всех незакрытых java.sql.Resulset, PreparedStatements в блоке finally (try - catch -finally), затем найдите некоторые JProfiler и проверьте, не исчезли ли все переменные из Used Memory   -  person mKorbel    schedule 06.07.2011


Ответы (2)


Закройте процесс Java, когда он завершит работу; используйте другой планировщик (например, cron), чтобы снова запустить процесс Java через четыре часа.

person antlersoft    schedule 06.07.2011

Вы получили утечку памяти в вашей программе.

Проверьте этот вопрос для его решения.

person lamwaiman1988    schedule 06.07.2011