文章目录
- 前言
- [一、项目设置jvm 内存:](#一、项目设置jvm 内存:)
-
- [1.1 在idea 中编辑启动配置:](#1.1 在idea 中编辑启动配置:)
- [1.2 勾选vm options](#1.2 勾选vm options)
- [1.3 设置内存:](#1.3 设置内存:)
- [1.4 项目启动读取设置jvm](#1.4 项目启动读取设置jvm)
- [二、window10 虚拟内存设置](#二、window10 虚拟内存设置)
-
- [2.1 控制台 进入系统设置](#2.1 控制台 进入系统设置)
- [2.2 性能设置](#2.2 性能设置)
- [2.3 虚拟内存更改](#2.3 虚拟内存更改)
- [2.3 虚拟内存更改](#2.3 虚拟内存更改)
- 总结
前言
随着微服务的盛行,一个系统动不动就好几个微服务,每个微服务启动都要在jvm 分配独立的内存,这对于小内存的电脑来说,根本开不了几个项目idea 就因为内存不足而直接崩溃。本文对应对项目设置jvm 内存和设置window10 虚拟内存的方式来尝试处理改问题。
一、项目设置jvm 内存:
1.1 在idea 中编辑启动配置:

1.2 勾选vm options

1.3 设置内存:
可以按照实际情况进行配置,设置完成 APPLY 进行引用
bash
-Xms128m
-Xmx256m
-XX:MetaspaceSize=64m
-XX:MaxMetaspaceSize=128m
-XX:G1HeapRegionSize=16m
-Xms128m
这是 JVM 堆内存的初始分配大小(Initial Heap Size)。
表示 JVM 启动时就会分配 128MB 的堆内存,避免运行过程中频繁调整堆大小,提升性能稳定性。
-Xmx256m
这是 JVM 堆内存的最大可用大小(Maximum Heap Size)。
表示 JVM 运行时堆内存最大可扩展到 256MB,若程序占用堆内存超过此值,会抛出OutOfMemoryError(OOM)。
-XX:MetaspaceSize=64m
这是元空间(Metaspace)的初始阈值(触发 Full GC 的初始大小)。
元空间用于存储类的元数据(如类结构、方法信息等),当元空间使用量达到 64MB 时,会触发 Full GC 并尝试扩容(仅对 JDK 8 及以上版本有效,替代永久代 PermGen)。
-XX:MaxMetaspaceSize=128m
这是元空间的最大可用大小。
限制元空间最多使用 128MB 内存,若元空间占用超过此值,会抛出OutOfMemoryError: Metaspace。
-XX:G1HeapRegionSize=16m
这是 G1 垃圾收集器(G1 GC)的堆区域大小。
G1 将整个堆划分为多个大小相等的 Region(区域),此参数指定每个 Region 的大小为 16MB,Region 大小会影响 G1 的垃圾回收效率和内存管理策略(取值范围通常为 1MB~32MB,需为 2 的幂次)。
1.4 项目启动读取设置jvm

二、window10 虚拟内存设置
此步骤可以通过设置 虚拟内存的方式,来增加系统要使用的内存
2.1 控制台 进入系统设置
win +r 输入命令 sysdm.cpl
2.2 性能设置
高级-》性能-》设置

2.3 虚拟内存更改
高级-》虚拟内存-》 更改
2.3 虚拟内存更改
取消勾选自动管理所有驱动器的分页文件大小;
选择系统盘(通常是 C 盘),勾选自定义大小:
初始大小:建议设置为物理内存的 1 倍(如 8GB 内存设为 8192MB);
最大值:建议设置为物理内存的 2 倍(如 8GB 内存设为 16384MB);
点击设置,再点击确定,重启电脑生效。

- 若 C 盘空间不足,可将虚拟内存设置到其他剩余空间较大的磁盘(如 D 盘);
- 虚拟内存并非越大越好,过大可能占用过多磁盘空间,过小则可能导致内存不足错误。
总结
本文记录在实际工作中 对于多微服务,电脑内存较小的问题进行记录。

