J'ai utilisé le profileur Net Beans qui utilise les mêmes fondements que Visual VM.
Je travaillais avec une ancienne version de Weblogic, ce qui impliquait l'utilisation de la JVM 1.5, et je ne pouvais donc pas faire d'attachement dynamique. L'application que je profilais comptait plusieurs milliers de classes et mon poste de travail était pratiquement inutilisable pendant que le profileur les instrumentait toutes. Une fois l'instrumentation terminée, le système était lent mais pas complètement inutilisable. Le degré de ralentissement dépend vraiment de ce que vous devez capturer. Les mesures de base du CPU sont assez légères. Le profilage de l'allocation de mémoire ralentit beaucoup les choses.
Je ne l'utiliserais pas sur un système de production. Outre le potentiel de ralentissement, j'ai fini par manquer d'espace PermGen parce que le profileur réinstruit et recharge les classes lorsque vous modifiez les paramètres. (Cela a peut-être été corrigé dans l'agent 1.6, je ne sais pas).