{
    "mode": "man",
    "parameter": "jmap",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/jmap/1/json",
    "generated": "2026-07-05T23:45:41Z",
    "synopsis": "jmap [ options ] pid\njmap [ options ] executable core\njmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP\noptions\nThe command-line options. See Options.\npid    The process ID for which the memory map is to be printed. The process must be a Java\nprocess. To get a list of Java processes running on a machine, use the jps(1) command.\nexecutable\nThe Java executable from which the core dump was produced.\ncore   The core file for which the memory map is to be printed.\nremote-hostname-or-IP\nThe remote debug server hostname or IP address. See jsadebugd(1).\nserver-id\nAn optional unique ID to use when multiple debug servers are running on the same\nremote host.",
    "sections": {
        "NAME": {
            "content": "jmap - Prints shared object memory maps or heap memory details for a process, core file, or\nremote debug server. This command is experimental and unsupported.\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "jmap [ options ] pid\n\njmap [ options ] executable core\n\njmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP\n\n\noptions\nThe command-line options. See Options.\n\npid    The process ID for which the memory map is to be printed. The process must be a Java\nprocess. To get a list of Java processes running on a machine, use the jps(1) command.\n\nexecutable\nThe Java executable from which the core dump was produced.\n\ncore   The core file for which the memory map is to be printed.\n\nremote-hostname-or-IP\nThe remote debug server hostname or IP address. See jsadebugd(1).\n\nserver-id\nAn optional unique ID to use when multiple debug servers are running on the same\nremote host.\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The jmap command prints shared object memory maps or heap memory details of a specified\nprocess, core file, or remote debug server. If the specified process is running on a 64-bit\nJava Virtual Machine (JVM), then you might need to specify the -J-d64 option, for example:\njmap-J-d64 -heap pid.\n\nNote: This utility is unsupported and might not be available in future releases of the JDK.\nOn Windows Systems where the dbgeng.dll file is not present, Debugging Tools For Windows must\nbe installed to make these tools work. The PATH environment variable should contain the\nlocation of the jvm.dll file that is used by the target process or the location from which\nthe crash dump file was produced, for example: set PATH=%JDKHOME%\\jre\\bin\\client;%PATH%.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "<no option>\nWhen no option is used, the jmap command prints shared object mappings. For each\nshared object loaded in the target JVM, the start address, size of the mapping, and\nthe full path of the shared object file are printed. This behavior is similar to the\nOracle Solaris pmap utility.\n\n-dump:[live,] format=b, file=filename\nDumps the Java heap in hprof binary format to filename. The live suboption is\noptional, but when specified, only the active objects in the heap are dumped. To\nbrowse the heap dump, you can use the jhat(1) command to read the generated file.\n",
            "subsections": [
                {
                    "name": "-finalizerinfo",
                    "content": "Prints information about objects that are awaiting finalization.\n"
                },
                {
                    "name": "-heap",
                    "content": "Prints a heap summary of the garbage collection used, the head configuration, and\ngeneration-wise heap usage. In addition, the number and size of interned Strings are\nprinted.\n"
                },
                {
                    "name": "-histo[:live]",
                    "content": "Prints a histogram of the heap. For each Java class, the number of objects, memory\nsize in bytes, and the fully qualified class names are printed. The JVM internal class\nnames are printed with an asterisk (*) prefix. If the live suboption is specified,\nthen only active objects are counted.\n"
                },
                {
                    "name": "-clstats",
                    "content": "Prints class loader wise statistics of Java heap. For each class loader, its name, how\nactive it is, address, parent class loader, and the number and size of classes it has\nloaded are printed.\n"
                },
                {
                    "name": "-F",
                    "content": "Force. Use this option with the jmap -dump or jmap -histo option when the pid does not\nrespond. The live suboption is not supported in this mode.\n",
                    "flag": "-F"
                },
                {
                    "name": "-h",
                    "content": "Prints a help message.\n",
                    "flag": "-h"
                },
                {
                    "name": "-help",
                    "content": "Prints a help message.\n"
                },
                {
                    "name": "-J_flag_",
                    "content": "Passes flag to the Java Virtual Machine where the jmap command is running.\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "• jhat(1)\n\n• jps(1)\n\n• jsadebugd(1)\n\n\n\nJDK 8                                     21 November 2013                                   jmap(1)",
            "subsections": []
        }
    },
    "summary": "jmap - Prints shared object memory maps or heap memory details for a process, core file, or remote debug server. This command is experimental and unsupported.",
    "flags": [
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Prints information about objects that are awaiting finalization."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Prints a heap summary of the garbage collection used, the head configuration, and generation-wise heap usage. In addition, the number and size of interned Strings are printed."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Prints a histogram of the heap. For each Java class, the number of objects, memory size in bytes, and the fully qualified class names are printed. The JVM internal class names are printed with an asterisk (*) prefix. If the live suboption is specified, then only active objects are counted."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Prints class loader wise statistics of Java heap. For each class loader, its name, how active it is, address, parent class loader, and the number and size of classes it has loaded are printed."
        },
        {
            "flag": "-F",
            "long": null,
            "arg": null,
            "description": "Force. Use this option with the jmap -dump or jmap -histo option when the pid does not respond. The live suboption is not supported in this mode."
        },
        {
            "flag": "-h",
            "long": null,
            "arg": null,
            "description": "Prints a help message."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Prints a help message."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Passes flag to the Java Virtual Machine where the jmap command is running."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "jhat",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/jhat/1/json"
        },
        {
            "name": "jps",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/jps/1/json"
        },
        {
            "name": "jsadebugd",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/jsadebugd/1/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Java memory map tool.",
        "examples": [
            {
                "description": "Print shared object mappings for a Java process (output like pmap)",
                "command": "jmap {{java_pid}}"
            },
            {
                "description": "Print heap summary information",
                "command": "jmap -heap {{filename.jar}} {{java_pid}}"
            },
            {
                "description": "Print histogram of heap usage by type",
                "command": "jmap -histo {{java_pid}}"
            },
            {
                "description": "Dump contents of the heap into a binary file for analysis with jhat",
                "command": "jmap -dump:format=b,file={{path/to/file}} {{java_pid}}"
            },
            {
                "description": "Dump live objects of the heap into a binary file for analysis with jhat",
                "command": "jmap -dump:live,format=b,file={{path/to/file}} {{java_pid}}"
            }
        ]
    }
}