Другие смогли запустить jstack на 2008r2 , что может дать некоторое представление о том, как подключить jconsole в Windows 7. Как вы отметили в своем комментарии, разрешения важны. Если служба и jconsole не могут получить доступ к временному каталогу для записи в соответствующий подкаталог hsperf, это не сработает. Важно также местоположение временного каталога, пользователя, на котором запущена служба, и пользователя, на котором работает jconsole.
Запуск SysInternals psexec -s -i <jdk_home>\bin\jconsole <PID>
можно использовать для запуска jconsole от имени локальной системы, того же пользователя, которого, я полагаю, вы используете для запуска своей службы.
Мой опыт запуска jconsole из JDK 1.5 в Server 2008 в качестве системного пользователя был неудачным. С разрешениями, которые я считал достаточными, я получил ошибку Could Not Open PerfMemory. Java 1.6 может быть другой историей.
В свете всех проблем с локальным запуском jconsole вам, вероятно, повезет , настроив его для приема удаленных подключений . Вы можете настроить его для локального доступа, так как брандмауэр блокирует этот порт от внешнего доступа.