首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法识别使用-XX:NativeMemoryTracking=summary启动的java进程的命令VM.native_memory

-XX:NativeMemoryTracking=summary是Java虚拟机(JVM)的一个启动参数,用于开启本地内存跟踪功能。本地内存跟踪是一种用于监控和分析JVM进程中本地内存使用情况的工具。

本地内存是指JVM进程中由本地代码(如JNI调用)分配的内存,它不受Java堆内存管理机制的控制。使用本地内存跟踪功能可以帮助开发人员识别和解决JVM进程中的本地内存泄漏或过度使用的问题。

启用-XX:NativeMemoryTracking=summary参数后,JVM会在进程退出时生成一个本地内存跟踪文件,其中包含了本地内存的使用情况摘要信息。然而,该参数无法识别使用该参数启动的Java进程的命令。

对于无法识别使用-XX:NativeMemoryTracking=summary启动的Java进程的命令,可以尝试以下解决方法:

  1. 使用其他工具进行本地内存跟踪:除了JVM自带的本地内存跟踪功能,还有一些第三方工具可以用于本地内存跟踪,如Valgrind、Jemalloc等。这些工具可以提供更详细的本地内存使用情况分析。
  2. 检查JVM日志:查看JVM的日志文件,可能会包含有关本地内存跟踪的相关信息。可以搜索关键字,如"NativeMemoryTracking"、"summary"等,以找到相关日志记录。
  3. 使用其他命令行工具:尝试使用其他命令行工具来获取有关Java进程的信息,如jps、jcmd等。这些工具可以提供有关Java进程的详细信息,包括启动参数和运行状态。

总结起来,-XX:NativeMemoryTracking=summary是用于开启JVM本地内存跟踪功能的参数,但无法直接识别使用该参数启动的Java进程的命令。如果需要获取更详细的本地内存使用情况,可以尝试使用其他工具或命令行选项来进行分析和监控。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

聊聊HotSpot VMNative Memory Tracking

使用 开启 -XX:NativeMemoryTracking=summary 使用-XX:NativeMemoryTracking=summary可以用于开启NMT,其中该值默认为off,可以设置为summary...summary scale=MB 使用jcmd pid VM.native_memory可以查看,后面可以加summary或者detail,如果是开启summary,就只能使用summary;其中scale...shutdown时输出 -XX:+UnlockDiagnosticVMOptions -XX:+PrintNMTStatistics 使用上述命令可以在jvm shutdown时候输出整体native...pid VM.native_memory shutdown可以用于关闭NMT;注意使用jcmd关闭之后貌似没有对应jcmd命令来开启 实例 / # jcmd 1 VM.native_memory summary...VM引入了Native Memory Tracking (NMT)特性,可以用于追踪JVM内部内存使用 使用-XX:NativeMemoryTracking=summary可以用于开启NMT,其中该值默认为

10.6K21
  • JVM堆外内存问题排查

    摘要 JVM 堆内存一般分析比较多,本篇谈谈堆外内存问题排查,通常我们需要排查堆外内存原因是系统整个内存使用飙高,但是堆内内存使用正常。...年轻代大小(eden区+2 survivor) -XX:newRatio: 4 年轻代与老年代1:4 -XX:survivorRatio: 8Eden区与survivor大小比值 java整个进程占用内存...full gc次数和耗时 total gc时间 排除掉heap问题 分析堆外情况 NMT(native memory tracking) 使用 在JVM参数中添加 -XX:NativeMemoryTracking...=[off | summary | detail] -XX:NativeMemoryTracking=detail 在JVM运行过程中,使用jcmd获取相关信息 jcmd pid VM.native_memory...VM.native_memory detail baseline个基准,之后会输出diff参数,来和这个基线版本进行比较,可以两次内存差 NMT报告会显示内存使用情况 类别 含义 Java Heap

    5.6K20

    内存泄漏排查攻略之:Show me your Memory

    当然用户可以使用s交互命令来改变之。 p:通过指定监控进程ID来仅仅监控某个进程状态。 q:该选项将使top没有任何延迟进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高优先级运行。...一般终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。 i:忽略闲置和僵死进程。这是一个开关式命令。...o或者O:改变显示项目的顺序 l:切换显示平均负载和启动时间信息。 m:切换显示内存信息。 t:切换显示进程和CPU状态信息。 c:切换显示命令名称和完整命令行。 M:根据驻留内存大小进行排序。...-XX:NativeMemoryTracking=summary # 开启NMT追踪 jcmd 1 VM.native_memory summary # 查看当前内存概况 jcmd...1 VM.native_memory baseline # 创建基准 baseline jcmd 1 VM.native_memory summary.diff # 一段时间后,比对内存差异

    90630

    6 款 Java 8 自带工具,轻松分析定位 JVM 问题!

    这篇文章中介绍下如何使用 JDK 自带工具来分析和定位 Java 程序问题。 使用 JDK 自带工具查看 JVM 情况 JDK 自带了很多命令行甚至是图形界面工具,帮助我们查看 JVM 一些信息。...java -jar 启动进程,设置 JVM 参数,让堆最小最大都是 1GB: java -jar common-mistakes-0.0.1-SNAPSHOT.jar -Xms1g -Xmx1g 完成这些准备工作后...jps 得到 Java 进程列表,这会比使用 ps 来方便: ➜  ~ jps 12707 22261 Launcher 23864 common-mistakes-0.0.1-SNAPSHOT.jar...通过 NMT,我们可以观察细粒度内存使用情况,设置 -XX:NativeMemoryTracking=summary/detail 可以开启 NMT 功能,开启后可以使用 jcmd 工具查看 NMT 数据...我们重新启动一次程序,这次加上 JVM 参数以 detail 方式开启 NMT: -Xms1g -Xmx1g -XX:ThreadStackSize=256k -XX:NativeMemoryTracking

    55810

    性能优化 - Docker 容器中 Java 内存使用分析

    -XX:+UseConcMarkSweepGC -XX:NativeMemoryTracking=summary -Djava.rmi.server.hostname...这是一个非常有趣问题!让我们试着找出来。 有JMX ---- 分析 Java 进程最简单方法是 JMX(这就是我们在容器中启用它原因)。...我已经-XX:NativeMemoryTracking=summary向 JVM添加了属性,因此我们可以从命令行调用它: [mkrestyaninov@xxx ~]$ docker exec my-app...jcmd 1 VM.native_memory summary Native Memory Tracking: Total: reserved=1754380KB, committed...如果这不明显,您可以在此处找到有关每个点含义信息。不要担心“未知”部分 - 似乎 NMT 是一个不成熟工具,无法处理 CMS GC(当您使用另一个 GC 时,此部分会消失)。

    4.3K30

    6 个 Java 工具,轻松分析定位 JVM 问题!

    这篇文章中介绍下如何使用 JDK 自带工具来分析和定位 Java 程序问题。 使用 JDK 自带工具查看 JVM 情况 JDK 自带了很多命令行甚至是图形界面工具,帮助我们查看 JVM 一些信息。...java -jar 启动进程,设置 JVM 参数,让堆最小最大都是 1GB: java -jar common-mistakes-0.0.1-SNAPSHOT.jar -Xms1g -Xmx1g 完成这些准备工作后...jps 首先,使用 jps 得到 Java 进程列表,这会比使用 ps 来方便: ➜  ~ jps 12707 22261 Launcher 23864 common-mistakes-0.0.1-SNAPSHOT.jar...通过 NMT,我们可以观察细粒度内存使用情况,设置 -XX:NativeMemoryTracking=summary/detail 可以开启 NMT 功能,开启后可以使用 jcmd 工具查看 NMT 数据...我们重新启动一次程序,这次加上 JVM 参数以 detail 方式开启 NMT: -Xms1g -Xmx1g -XX:ThreadStackSize=256k -XX:NativeMemoryTracking

    40410

    一次大量 JVM Native 内存泄露排查分析(64M 问题)

    我们有一个线上项目,刚启动完就占用了使用 top 命令查看 RES 占用了超过 1.5G,这明显不合理,于是进行了一些分析找到了根本原因,下面是完整分析过程,希望对你有所帮助。...hibernate 毁人不倦 现象 程序启动参数 ENV=FAT java -Xms1g -Xmx1g -XX:MetaspaceSize=120m -XX:MaxMetaspaceSize=400m...-XX:+UseConcMarkSweepGC -jar EasiCareBroadCastRPC.jar 启动后内存占用如下,惊人 1.5G,Java 是内存大户,但是你也别这么玩啊。...NativeMemoryTracking 使用 如果要跟踪其它部分内存占用,需要通过 -XX:NativeMemoryTracking 来开启这个特性 java -XX:NativeMemoryTracking...=[off | summary | detail] 加入这个启动参数,重新启动进程,随后使用 jcmd 来打印相关信息。

    2.7K31

    一次完整JVM堆外内存泄漏故障排查记录

    确认了下当时服务进程启动配置: -Xms4g -Xmx4g -Xmn2g -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -XX:ParallelGCThreads...排查过程 首先我们先回顾下Java进程内存分配,方便我们下面排查思路阐述。 「以我们线上使用JDK1.8版本为例」。JVM内存分配网上有许多总结,我就不再进行二次创作。...「由于上面提到,我们进程启动参数中并没有限制直接内存,于是我们将-XX:MaxDirectMemorySize配置加上,再次在沙箱环境进行了测验。」...-XX:NativeMemoryTracking=[off | summary | detail] # off: 默认关闭 # summary: 只统计各个分类内存使用情况. # detail: Collect...然后运行进程,可以使用下面的命令查看直接内存: jcmd VM.native_memory [summary | detail | baseline | summary.diff | detail.diff

    3.3K20

    干货 | 高效线上问题排查——套路化和工具化

    书归正传,通过修改JVM参数并重启Java进程开启NativeMemory Tracking: -XX:NativeMemoryTracking=detail。...进程重启后,可以通过NMT一些子命令summary/detail/baseline/diff)查看Native Memory占用情况:sudo -u jcmd VM.native_memory...注:开启NativeMemoryTracking会造成5%性能下降,用完记得修改JVM参数并重启永久关闭,或者可以通过以下命令临时关闭:jcmd vm.native_memory stop ...3.1.1 确认堆内存是否太大 第一步要做事情比较多,梳理如下: Java进程pid:使用jps -v列出java进程列表,由用户选择具体进程; 获取运行环境物理内存和剩余内存(free -m)...3.1.3 非堆内存是否开销过大 此步骤需要在JVM启动脚本中增加启动参数并重新启动进程,对于标准化运行环境来说,在知道了启动脚本位置和启动命令情况下,是可以通过工具来完成参数修改和进程启动

    1.2K30

    解读 Java 云原生实践中内存问题(必看)

    通常因为加载 class 数目太多或体积太大,导致抛出该错误。可以通过修改 -XX:MaxPermSize 或者 -XX:MaxMetaspaceSize 启动参数, 调大永久代/元空间大小。...默认情况下,NMT 是关闭状态,使用 JVM 参数开启:-XX:NativeMemoryTracking=[off | summary | detail] $ java -Xms300m -Xmx300m...-XX:+UseG1GC -XX:NativeMemoryTracking=summary -jar app.jar 此处限制最大堆内存为 300M,使用 G1 作为 GC 算法,开启 NMT 追踪进程内存使用情况...$ jcmd VM.native_memory summary scale=MB JVM 总内存 Native Memory Tracking: Total: reserved=1764MB...JVM 参数 -XX:NativeMemoryTracking 用于启用 NMT,开启 NMT 后,可以使用 jcmd 命令打印 JVM 内存占用情况。

    42820

    一次完整JVM堆外内存泄漏故障排查记录

    确认了下当时服务进程启动配置: -Xms4g -Xmx4g -Xmn2g -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -XX:ParallelGCThreads...排查过程 首先我们先回顾下Java进程内存分配,方便我们下面排查思路阐述。 以我们线上使用JDK1.8版本为例。JVM内存分配网上有许多总结,我就不再进行二次创作。...由于上面提到,我们进程启动参数中并没有限制直接内存,于是我们将-XX:MaxDirectMemorySize配置加上,再次在沙箱环境进行了测验。...-XX:NativeMemoryTracking=[off | summary | detail] # off: 默认关闭 # summary: 只统计各个分类内存使用情况. # detail: Collect...然后运行进程,可以使用下面的命令查看直接内存: jcmd VM.native_memory [summary | detail | baseline | summary.diff | detail.diff

    1.1K11

    测试开发必备:聊聊线上故障排查技巧!

    使用 jstack 分析 CPU 问题 我们先用 ps 命令找到对应进程 pid(如果你有好几个目标进程,可以先用 top 看一下哪个占用比较高)。...我们可以使用命令 cat jstack.log | grep "java.lang.Thread.State" | sort -nr | uniq -c 来对 jstack 状态有一个整体把握,如果...另外我们还需要知道是哪个进程在进行读写,一般来说开发自己心里有数,或者用 iotop 命令来进行定位文件读写来源。...需要在启动参数中加入 -XX:NativeMemoryTracking=summary 或者 -XX:NativeMemoryTracking=detail,会有略微性能损耗。...然后等放一段时间后再去看看内存增长情况,通过 jcmd pid VM.native_memory detail.diff(summary.diff) 做一下 summary 或者 detail 级别的

    52120

    JAVA 线上故障排查完整套路!牛掰!

    使用 jstack 分析 CPU 问题 我们先用 ps 命令找到对应进程 pid(如果你有好几个目标进程,可以先用 top 看一下哪个占用比较高)。...我们可以使用命令cat jstack.log | grep "java.lang.Thread.State" | sort -nr | uniq -c来对 jstack 状态有一个整体把握,如果 WAITING...另外我们还需要知道是哪个进程在进行读写,一般来说开发自己心里有数,或者用 iotop 命令来进行定位文件读写来源。 ?...需要在启动参数中加入 -XX:NativeMemoryTracking=summary 或者 -XX:NativeMemoryTracking=detail,会有略微性能损耗。...然后等放一段时间后再去看看内存增长情况,通过jcmd pid VM.native_memory detail.diff(summary.diff)做一下 summary 或者 detail 级别的 diff

    2.7K31

    JAVA线上故障排查全套解决方案

    使用jstack分析cpu问题 我们先用ps命令找到对应进程pid(如果你有好几个目标进程,可以先用top看一下哪个占用比较高)。...我们可以使用命令cat jstack.log | grep "java.lang.Thread.State" | sort -nr | uniq -c来对jstack状态有一个整体把握,如果WAITING...另外我们还需要知道是哪个进程在进行读写,一般来说开发自己心里有数,或者用iotop命令来进行定位文件读写来源。...需要在启动参数中加入 -XX:NativeMemoryTracking=summary 或者 -XX:NativeMemoryTracking=detail,会有略微性能损耗。...然后等放一段时间后再去看看内存增长情况,通过jcmd pid VM.native_memory detail.diff(summary.diff)做一下summary或者detail级别的diff。

    54910
    领券