Java/Spring应用在k8s环境中的内存配置实践

前言在微服务架构中,网关、注册中心、配置中心、服务追踪、认证中心等一系列组件部署到服务器中会占用一定的内存,还有各个业务服务,一部署单个服务可能就占个几百M,甚至上G。那这一系列组件和服务同时部署不得消耗更多的内存?为防止这些服务把系统资源耗尽导致宕机,我们不得不为这些服务配置一定的内存限制。 在 k8s 环境中,如果我们单单配置了 memory 的 limit ,没有配置 Java 应用的JVM ...

深入理解Java虚拟机之Java内存区域与内存溢出异常

运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范(Java SE 7版)》的规定,Java虚拟机所管理的内存的将会包括以下几个运行时数据区域,如下图: 程序计数器程序计数器(Program Counter Register)是一块较小的内存空间。可以当成是当前线程所执行的字节码的行号指示器。在虚拟机的模型中,字节码解释器 ...