Я отлаживаю утечку памяти в приложении, запущенном на JDK Sun 1.4.2_18. Похоже, что эта версия поддерживает командную строку param -XX: + HeapDumpOnCtrlBreak, которая якобы заставляет JVM сбрасывать кучу, когда она сталкивается с контрольным прерыванием. Как отправить это в фоновый процесс в ящик Linux? Похоже, что сигналы kill - это то, как это должно работать, но я убиваю -l не сообщает ничего, что, очевидно, является комбинацией клавиш Ctrl-Break, по крайней мере, в моем поле Ubuntu.Как отправить Ctrl-Break в запущенный Linux-процесс?
Обновление: я проверил Kill -3 с Sun JDK 1.4.2_18 (_14 был первым, кто сбросил кучу таким образом), и это сработало. Создан файл дампа кучи, и процесс все еще запущен.
У меня нет linux-бокса с jvm, который поддерживает параметр -XX: + HeapDumpOnCtrlBreak, поэтому не могу проверить это (и я никогда на самом деле не делал этого так не может поручиться, что он работает). – bm212
Я бы предпочел предложение «kill -QUIT», чем «kill -3», хотя они эквивалентны. – ephemient
Я отредактировал его, чтобы сказать kill -QUIT. – bm212