Мне нужно запустить несколько java-сервисов на моей машине, чтобы получить определенную среду разработки (и выполнить свою работу, не связанную с java)
java -Xmx400m -jar foo-app/target/foo-app-SNAPSHOT.jar
java -Xmx250m -jar bar-app/target/bar-app-SNAPSHOT.jar
...
Чтобы не хватило памяти, мне нужно ограничить использование памяти. Значение по умолчанию (512 м в секунду) слишком велико для моей машины, поэтому я несколько снизил их (в качестве догадки). За исключением одного, где я изучил трудный путь (сбой, даже зависание, и, к счастью, некоторые файлы ошибок .pid, оставленные в папке проекта ...), который мне лучше установить немного выше:
java -Xmx800m -jar doo-app/target/doo-app-SNAPSHOT.jar
Вопрос : есть ли способ отслеживать использование памяти определенного приложения с течением времени?
Каким-то параметром командной строки Java или даже с ps -ae
, htop
или подобным? (таким образом, не возиться с самим источником, переназначать сборщики мусора и т. д. и т. д.)
Я вижу много цифр, но выясняю, какие из них принадлежат тому, какой Java-проект запущен, и что может примерно указать мне правильное пик потребление памяти (в смысле -Xmx___m
) ... У меня есть без понятия.
Я работаю под Ubuntu-MATE 16.04, x64.