jmap
是 Java 提供的一个命令行工具,用于生成堆转储(heap dump)或打印出堆的内存映射
jmap -heap <pid>
其中 <pid>
是 Java 进程的进程 ID。运行此命令后,您将看到类似以下的输出:
Heap Configuration:
...
MaxHeapSize = 4294967296 (4096.0MB)
...
要设置采样频率,您需要使用 -XX:HeapDumpOnOutOfMemoryError
和 -XX:HeapDumpPath
选项。-XX:HeapDumpOnOutOfMemoryError
选项表示在发生 OutOfMemoryError 时创建堆转储,而 -XX:HeapDumpPath
选项用于指定堆转储文件的保存路径。
然而,jmap
本身不提供直接设置采样频率的选项。要实现采样频率的设置,您可以使用 Java VisualVM、JProfiler、YourKit 等工具,这些工具可以连接到 Java 进程并提供采样功能。
例如,要使用 Java VisualVM 设置采样频率,请按照以下步骤操作:
请注意,这些工具可能需要额外的许可证才能使用其高级功能。