X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=README.md;h=369945153f6106091cefebc6889bbf52c0e48dbb;hb=44105a0f6c4f57785d3a74ef1b88af82e3fe6052;hp=7532b569201ea6f2f1c8ad95d909f73f06f6a4ce;hpb=b330d6f5cff47911c6b1faf488d0d2791e1a181b;p=sven%2Fjattach.git diff --git a/README.md b/README.md index 7532b56..3699451 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ### JVM Dynamic Attach utility -The utility to send commands to remote JVM via Dynamic Attach mechanism. +The utility to send commands to a JVM process via Dynamic Attach mechanism. All-in-one **jmap + jstack + jcmd + jinfo** functionality in a single tiny program. No installed JDK required, works with just JRE. Supports Linux containers. @@ -22,8 +22,14 @@ https://docs.oracle.com/javase/8/docs/jdk/api/attach/spec/ - **printflag** : print VM flag - **jcmd** : execute jcmd command +### Download + +Binaries are available on the [Releases](https://github.com/apangin/jattach/releases) page. + +On some platforms, you can also [install](#installation) jattach with a package manager. + ### Examples -#### Load JVMTI agent +#### Load native agent $ jattach load <.so-path> { true | false } [ options ] @@ -31,6 +37,13 @@ Where `true` means that the path is absolute, `false` -- the path is relative. `options` are passed to the agent. +#### Load Java agent + +Java agents are loaded by the special built-in native agent named `instrument`, +which takes .jar path and its arguments as a single options string. + + $ jattach load instrument false "javaagent.jar=arguments" + #### List available jcmd commands $ jattach jcmd "help -all" @@ -44,12 +57,20 @@ On FreeBSD, you can use the following command to install `jattach` package: #### Alpine Linux -On Alpine Linux, you can use the following command to install `jattach` package from the edge/testing repository: +On Alpine Linux, you can use the following command to install `jattach` package from the edge/community repository: - $ apk add --no-cache jattach --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ + $ apk add --no-cache jattach --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ #### Archlinux [jattach](https://aur.archlinux.org/packages/jattach/) package can be installed from [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) using one of [AUR helpers](https://wiki.archlinux.org/index.php/AUR_helpers), e.g., `yay`: $ yay -S jattach + +#### Debian Linux + +On Debian Linux, you can use the following command to install `jattach` from the [official repository](https://packages.debian.org/search?keywords=jattach): + + $ apt install jattach + +Packages are provided for **bullseye** (stable), **bookworm** (testing) and **sid** (unstable).