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

RSS轨迹是保留内存还是提交内存?

栾钟展
2023-03-14

为了降低RSS,我正在Java8上运行不同jvm选项的实验:

>

  • 用于Rss跟踪的脚本:

    ps-o rss-o vsz-o pid$pid

    用于设置java进程的JVM args:

    jcmd$pid vm.native_memory baseline

    与JCMD进行差异:

    jcmd$pid vm.native_memory summary.diff

    -                    Thread (reserved=130696KB -21564KB, committed=130696KB -21564KB)
                                (thread #121 -21)
                                (stack: reserved=130048KB -21504KB, committed=130048KB -21504KB)
                                (malloc=379KB -67KB #610 -105)
                                (arena=268KB +7 #240 -42)
    
  • 共有1个答案

    宇文育
    2023-03-14

    保留/提交和驻留/虚拟之间的关系稍微复杂一些。RSS覆盖驻留在物理内存中的页。已经被分页(或从未被分页)的东西可以被提交内存,但不是常驻内存。

    也许这回答了您的问题:保留但未提交的页面不能常驻。

     类似资料:
    •        点击轨迹记录面板的结束记录按钮:        在弹出来的名称输入框中,输入轨迹名称(默认名称为时间),点击确定,即可完成轨迹记录:        保存完成后,主界面中会展示此轨迹线,也可通过数据管理进行其他操作。

    • 问题内容: 我不知道如何从CKEditor实例中获取已编辑的数据并将其发布到url。 我在看这样的东西: http://nightly.ckeditor.com/3995/samples/inlineall.html 而且我不知道如何保存更改。我可以将要编辑的新数据连同要编辑的元素的ID一起发布到PHP吗? 与此类似: 我希望我可以做这样的事情: 但是我似乎在任何地方都找不到任何东西。 有没有人知

    • 问题内容: 该MMAP文件说,下面讲的标志MAP_NORESERVE。 不要为该映射保留交换空间。当保留交换空间时,可以保证可以修改映射。如果没有保留交换空间,则在没有物理内存可用的情况下,可能会在写入时获得SIGSEGV。 我真正想要的只是保留虚拟内存地址,而没有分配实际的物理内存。可以使用MAP_NORESERVE的mmap来完成此操作吗?如果我想使用任何物理内存,我将在MAP_NORESER

    • 我正在运行一个运行jetty的简单java进程,上面显示了2.9g的RAM。使用的JDK版本是1.8.0_112。 使用本机内存跟踪(jcmd),它显示提交的总内存仅为1.5G内存 而且,正如jvisualvm所报告的,直接缓冲池的大小非常小。 我完全知道NMT显示的内存是提交内存,不需要在RAM中。在这种情况下,NMT内存对RES的贡献应该是 在我的例子中,这里的差异约为1.4G(RES显示内存

    • 直到今天,我才知道java有堆,堆是由JVM创建的。此外,这个内存是由操作系统分配给JVM实例的,即堆驻留在JVM实例中。 这表明,JVM和堆相距甚远。 所以,我现在很困惑,有谁能让我知道,我以前是错的还是我不能理解这幅画?

    • 问题内容: 基于 http://redis.io/topics/faq Redis是内存中的,但是持久存储在磁盘数据库上。 那么我是否知道Redis将键/值保存在内存或磁盘中?或两者? 在Redis中写入值时,它是否同时写入内存和磁盘? 谢谢你的概念。 问题答案: 根据配置方式的不同,redis可以定期将现有状态备份到磁盘,但否则,所有内容都在内存中。