Когда вы выполняете профилирование, вы должны как можно лучше воспроизвести производственную среду. Различия в оборудовании (количество ядер, памяти и т. Д.) И программное обеспечение (ОС, версия JVM) могут сделать ваши профилирующие результаты такими же уникальными, как среда выполнения.
Например, то, что выглядит как узкое место процессора, которое стоит оптимизировать на вашем локальном компьютере, может полностью исчезнуть или превратиться в узкое место на вашем производственном сервере в зависимости от различий в процессоре.
Все современные профилировщики позволяют подключаться к удаленному JVM-интерфейсу, поэтому вам не нужно беспокоиться о наличии только консольного доступа.
Какой профайлер вы решите использовать, будет зависеть от ваших потребностей и предпочтений. Некоторые профилировщики покажут вам «горячие точки», где ваш код проводит большую часть времени, и это часто хорошие кандидаты на оптимизацию.
Я предпочитаю использовать JProfiler за его обширные функции и хорошую производительность. Я ранее использовал YourKit, но переключился на JProfiler для своих функций профилирования памяти и потоков.
Насколько я знаю, он контролирует только удаленные приложения, но не обрабатывает их. – pondermatic