当前位置: 首页 > 知识库问答 >
问题:

Java进程内存使用率不断增加,Java本机内存跟踪显示“内部”占用大量内存

叶裕
2023-03-14

Java1.8。0_131 Windows Server 2012 R2。

“-Xmx=9000m”。但是Windows任务管理器显示java进程使用的html" target="_blank">内存超过14GB。

NMT显示“内部”消耗超过4.5 GB的内存。为什么会出现这种情况?我知道为本机内存定义空间不是Java功能。但是有什么方法可以限制“内部”内存吗?

总计:保留=15782485KB,提交=14653869KB-Java堆(保留=9216000KB,提交=9216000KB)(mmap:保留=9216000KB,提交=9216000KB)

>

  • 类(保留=1277553KB,提交=260193KB)(类#37738)(malloc=11889KB#64612)(mmap:保留=1265664KB,提交=248304KB)

    线程(保留=80528KB,提交=80528KB)(线程#79)(堆栈:保留=79872KB,提交=79872KB)(malloc=244KB#398)(竞技场=412KB#157)

    代码(保留=166388KB,提交=55208KB)(malloc=10356KB#10526)(mmap:保留=156032KB,提交=44852KB)

    GC(保留=340353KB,提交=340277KB)(malloc=3521KB#1861)(mmap:reserved=336832KB,提交=336756KB)

    编译器(保留=290KB,提交=290KB)(malloc=160KB#947)(arena=130KB#2)

    内部(保留=4513559KB,提交=4513559KB)(malloc=4513495KB#7980353)(mmap:reserved=64KB,提交=64KB)

    符号(保留=52759KB,promise=52759KB)(malloc=48180KB#563951)(竞技场=4579KB#1)

    本机内存跟踪(保留=134867KB,提交=134867KB)(malloc=108KB#1634)(跟踪开销=134759KB)

    竞技场区块(保留=190KB,提交=190KB)(malloc=190KB)

  • 共有1个答案

    夹谷硕
    2023-03-14

    最后确认问题是由DynaTrace代理引起的。

    删除DyaTrace代理后,问题不再发生。并且在应用擎天跟踪更新后也不会发生此问题。

     类似资料:
    • 我有一个很小的java控制台应用程序,我想在内存使用方面进行优化。它是在Xmx设置为仅64MB的情况下运行的。根据不同的监视工具(htop、ps、pmap、Dynatrace)显示进程的总体内存使用量超过250MB。我主要在Ubuntu18上运行它(也在其他操作系统上测试)。 我使用了-xx:nativeMemoryTracking,java param和jcmd的本地内存跟踪,以找出为什么在堆之

    • 我的java应用程序工作了大约1天,(我使用不同的库来处理照片,比如ffmpeg、javacv、javacpp),然后我看到我的应用程序使用了9,5GB的RAM。 I set-XMX6G 在VisualVM中,我看到堆空间大小为188M visualVM中的堆空间 编辑: 是的,我的应用程序有时会出现异常Java.lang.outofmemoryerror:Java堆空间

    • 为什么我的java PID占用更多内存。目前我有24GB ram和max-xmx=15G。所以java PID的解决方案是占用更少的内存。 23794 root 0 22.2g 16.5g 13416 s 100.070.42980:54上面的java是我的最高命令结果。任何人都知道如何重新关注这个问题。

    • 问题是,那些块是什么?哪个子系统分配这些? 更新:我们不使用JIT和/或JNI本机代码调用。

    • 我正在制作一个应用程序,它在一个UImageView中显示gif,从Parse加载gif。我遇到的问题是,每当我加载一个Gif时,它都会使用大约20 mb的内存,而当我执行segue时,这个内存没有被分配。我从UImageView中删除了图像本身,但它仍然没有释放内存。 这是我用来显示GIF的代码: 这可能是我记忆问题的原因吗?感谢任何帮助!

    • 我们有一个在Solaris 10上运行的java进程,为大约200-300个并发用户提供服务。管理员报告说,随着时间的推移,进程使用的内存显著增加。几天内它就达到2GB,并且从未停止增长。 我们已经转储了堆,并使用Eclipse内存探查器对其进行了分析,但没有看到任何异常。堆的大小非常小。 在添加内存统计日志记录后,我们在应用程序中发现管理员使用的“top”实用程序报告的内存使用量与MemoryM