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

弹性搜索计算膜压的公式

邓越泽
2023-03-14

目前有几个Java服务我们想在上面添加监视/警报。
所以我们从JVM收集一些关于内存使用的信息,然后我们注意到ElasticSearch有一个叫做Memmory Pressure的“度量”,这听起来也很不错,可以用来计算那些Java服务。

问题是我一辈子都找不到它,我试着从他们的github repo中搜索代码中的内存/压力。
在搜索关于内存压力如何工作的公式或解释时,总是找到基本相同的两篇理解内存压力指示符和JVM内存压力指示符的核心文章。
这两篇文章很好地解释了如何解释它,但没有解释它们实际上是如何得到它产生的值的。

那么在Elasticsearch中的记忆压力究竟是如何计算的方面,谁能给我点启发呢?

提前道谢!

共有1个答案

吴升
2023-03-14

正如您引用的第三个链接中提到的:

JVM内存压力指示器实际上是旧代池的填充率

所以它只是旧池使用率的百分比

检索getnodes/stats时,您将获得以下有关JVM度量的信息:

  ...
  "jvm" : {
    "timestamp" : 1614957874986,
    "uptime_in_millis" : 274397434,
    "mem" : {
      "heap_used_in_bytes" : 20094897664,
      "heap_used_percent" : 65,
      "heap_committed_in_bytes" : 30836523008,
      "heap_max_in_bytes" : 30836523008,
      "non_heap_used_in_bytes" : 310525488,
      "non_heap_committed_in_bytes" : 321077248,
      "pools" : {
        "young" : {
          "used_in_bytes" : 6710886400,
          "max_in_bytes" : 0,
          "peak_used_in_bytes" : 12264144896,
          "peak_max_in_bytes" : 0
        },
        "old" : {
          "used_in_bytes" : 13098798592,
          "max_in_bytes" : 30836523008,
          "peak_used_in_bytes" : 14881037312,
          "peak_max_in_bytes" : 30836523008
        },
        "survivor" : {
          "used_in_bytes" : 285212672,
          "max_in_bytes" : 0,
          "peak_used_in_bytes" : 1300234240,
          "peak_max_in_bytes" : 0
        }
      }
    },

因此内存压力可以简单地用以下公式计算:

100 * jvm.mem.pools.old.used_in_bytes / jvm.mem.pools.old.max_in_bytes 

在我的例子中,它的收益率为42%,可以在下面的屏幕截图中看到

 类似资料:
  • 如何计算弹性搜索服务器磁盘空间,每天4TB日志需要多少节点。 需要多少磁盘空间存储在弹性搜索索引中? 如何计算节点数? 索引是否压缩? 在LogStash的行格式中存储10G日志需要多少磁盘空间? 索引是否压缩? 如果节点配置为使用5个碎片,则以下是真还是假,以及为什么 存储10G日志需要50G磁盘空间来存储5个分片节点吗?

  • 我有以下格式的弹性搜索文档 } } 我的要求是,当我搜索特定字符串(string.string)时,我只想获得该字符串的FileOffSet(string.FileOffSet)。我该怎么做? 谢谢

  • 我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。

  • 当我执行ps-aef grep elasticsearch HeapDumpOnOutOfMemoryError时看到了这一点 501 373 47 1 0 2:29pm ttys004 0:04.14/usr/bin/Java-xms4g-xmx4g-xss256k-djava.awt.headless=true-xx:+useparnewgc-xx:+useparnewgc-xx:+usepa

  • 我从ElasticSearch得到以下错误。 我在Ubuntu上运行Elasticsearch 1.7.2。 我做错了什么?

  • 很抱歉,但是ES的文档(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html)让我感到困惑。 多亏了术语表,我理解了数据库、表和行的术语,但我阅读了文档的大部分部分,但我找不到答案: 为什么需要在索引创建中添加和?我确实在这里查看了http://www.elasticsearch.org/g