问题描述

在Azure的Spring Cloud服务 (官名为:Spring Apps)中,在Metrics 页面中查看 App Memory Usage 和 jvm.memory.use,发现两则在下图中出现巨大差距。

  • App Memory Usage还是在逐渐上升
  • jvm.memory.use 却断崖式下降

在App Memory Usage在逐渐上涨的情况下,是否会最终出现OOM(out of memory,内存溢出)呢?

问题解答

首先,说明 App Memory Usage和jvm.memory.use的区别:

==>  App Memory Usage: 这个指标是用于监视应用程序实际使用的内存量,包括Java虚拟机(JVM)使用的内存,以及应用程序使用的非堆内存,例如堆外内存。

==>  jvm.memory.use: 这个指标是用于监视JVM在运行过程中使用的内存量。这包括堆内存使用情况(例如Eden、Survivor和Old Generation等堆空间),以及非堆内存使用情况(例如Metaspace)

简单来说就是App Memory Usage是关注整个应用程序使用的内存,包括JVM使用的内存和应用程序使用的非堆内存,而jvm.memory.use只关注JVM使用的内存。

其次,对图中指标进行解释:

==>  JVM.Memory.Used 出现断崖式下降的情况,GC是可以将其中的non-indexed objects给回收掉

==>  App memory usage 为 spring cloud 应用对应的底层AKS POD层面指标,表示当前分配给Java进程的内存。GC是不会影响POD level指标的情况的,且在POD分配给Java进程后,如果OS level不需要该部分内存用作它用是暂时不会收回的。

最后,是否会发生OOM?

==>  对于OOM,分为JVM OOM和容器OOM,JVM层面参考jvm.memory.used 指标,容器OOM考虑App memory Usage。GC仅对堆内即jvm.memory.used生效。

==>  App memory usage很高也可能不发生容器OOM,仅当需要使用到对外内存或者当前JVM占用了所有的App Memory Usage时还需要分配另外的内存,才会发生容器级别OOM

参考资料

Azure Spring Apps 是什么?https://docs.azure.cn/zh-cn/spring-apps/overview

 

【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM的更多相关文章

  1. 【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?

    问题描述 在使用Azure Spring Cloud服务时,如果要收集应用程序的日志.有控制台输出(实时流日志),也可以配置Log Analytics服务. 日志流式处理 可以通过以下命令在 Azur ...

  2. Spring Cloud Config整合Spring Cloud Kubernetes,在k8s上管理配置

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Kubernetes有专门的ConfigMap和Secret来管理配置,但它也有一些局限性,所以还是希望通过Spring C ...

  3. 【spring cloud】【IDEA】【maven】spring cloud多模块在idea上使用maven插件打包报错:程序包XXX不存在

    >>>>spring cloud 多模块 >>>>在idea上使用maven插件打包,欲打包成jar包后 进行部署 >>>> 报 ...

  4. 1 Spring Cloud Eureka服务治理(上)

    注:此随笔为读书笔记.<Spring Cloud微服务实战>,想学习Spring Cloud的同伴们可以去看看此书,里面对源码有详细的解读. 什么是微服务? 微服务是将一个原本独立的系统拆 ...

  5. Spring Cloud学习笔记--Spring Boot初次搭建

    1. Spring Boot简介 初次接触Spring的时候,我感觉这是一个很难接触的框架,因为其庞杂的配置文件,我最不喜欢的就是xml文件,这种文件的可读性很不好.所以很久以来我的Spring学习都 ...

  6. Spring Cloud(二):Spring Cloud Eureka Server高可用注册服务中心的配置

    前言 Eureka 作为一个云端负载均衡,本身是一个基于REST的服务,在 Spring Cloud 中用于发现和注册服务. 那么当成千上万个微服务注册到Eureka Server中的时候,Eurek ...

  7. 【Spring Cloud】Spring Cloud之整合Spring Cloud Bus以及最佳实践

    一.整合步骤 1)加入Maven坐标 <!-- actuator监控模块 --> <dependency> <groupId>org.springframework ...

  8. Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)

    Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...

  9. spring Cloud网关之Spring Cloud Gateway

    Spring Cloud Gateway是什么?(官网地址:https://cloud.spring.io/spring-cloud-gateway/reference/html/) Spring C ...

  10. Spring Cloud Netflix vs Spring Cloud Alibaba

    Spring Cloud Netflixhttps://spring.io/projects/spring-cloud-netflix spring-cloud-alibaba/README-zh.m ...

随机推荐

  1. [转帖]记录自己安装内存带宽测试工具——Stream过程

    测试环境: CPU:Kunpeng 920 8Core MEM:16G Storage:200G OS:openEuler 20.03 (LTS-SP3) 1 服务器资源监控工具--Stream 1. ...

  2. 一次典型的Memroy Leak的跟踪学习过程

    背景 周四时某项目在QQ群里说自己的系统出现了CPU占用较高的情况. TOP 查看发现大部分占用CPU的都是 JAVA核心进城后附近的进程. 所以初步怀疑 是出现了FullGC的问题. 然后群里反馈了 ...

  3. 一种读取亿级doris数据库的方法

    工作中,常常需要将线上doris同步至集市.读取doris数据同读取常规mysql基本相同.如果数据行小于千万,比较简单的方式直接单节点连接.读取和存储.Python示例如下: def get_dat ...

  4. 【构造,图论,建模】Loj3629「2021 集训队互测」序列

    Problem Link 有一个长为 \(n\) 的未知序列,给定 \(m\) 个限制,每个限制形如给定 \(i,j,k,x\),要求 \(a_i,a_j,a_k\) 的中位数为 \(x\).构造一个 ...

  5. 小记录 单选框的注意点 html中字符串拼接 el-upload手动上传 表格跳转 v-for动态添加背景色 控制label标签于文本框之间的间距

    在element-ui中 单选框的v-model的值最好是一个字符串 否者可能不能够进行数据回填哈 单选框 的类型必须是字符串类型哈 在elemnet-ui中 如果你想从A页面拿到B页面中的值 可以有 ...

  6. VS2013未能正确加载microsoft.visualstudio.editor.implementation.editorpackage

    在用VS2013做项目,但是特别不顺利,这不,VS2013突然罢工了,连解决方案都打不开了,会出现如下的错误: 试了网上的各种解决方案,总算找到一个适合自己的,具体方法如下: 1.打开VS2013的& ...

  7. [postgres]配置主从异步流复制

    前言 环境信息 IP 角色 操作系统 PostgreSQL版本 192.168.1.112 主库 Debian 12 15.3 192.168.1.113 从库 Debian 12 15.3 配置主从 ...

  8. 【OpenIM原创】简单轻松入门 一文讲解WebRTC实现1对1音视频通信原理

    什么是 WebRTC ? WebRTC(Web Real-Time Communication)是 Google于2010以6829万美元从 Global IP Solutions 公司购买,并于20 ...

  9. 从零开始配置 vim(14)——目录管理插件

    我们在介绍vim目录管理的时候提到 vim自带一个 叫做 netrw的工具来管理目录.但是它自身的功能有限,而且样式也丑.今天我们将使用其他强大的插件来替代 netrw,增强目录管理功能 nvim-t ...

  10. 【任务调度】Spring 的动态定时任务之 ScheduledTaskRegistrar(解决方案一)

    前言 ​ 在做SpringBoot项目的过程中,有时客户会提出按照指定时间执行一次业务的需求. ​ 如果客户需要改动业务的执行时间,即动态地调整定时任务的执行时间,那么可以采用SpringBoot自带 ...