工具篇:Window10 增加虚拟内存&Idea项目启动内存配置


文章目录

  • 前言
  • [一、项目设置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 盘);
  • 虚拟内存并非越大越好,过大可能占用过多磁盘空间,过小则可能导致内存不足错误。

总结

本文记录在实际工作中 对于多微服务,电脑内存较小的问题进行记录。

相关推荐
SimonKing5 分钟前
开源神器 Navop:数据库+SSH+终端+AI,一个应用全搞定
java·后端·程序员
爱码猿9 分钟前
SpringBoot+MybatisPlus动态数据源
java·spring boot·后端
小义_10 分钟前
JDK 深度解析
java·linux·开发语言·python·面试
奈斯先生Vector30 分钟前
从“能调用”到“可运营”:AI Agent 进入多模型时代后的架构升级
java·javascript·数据库·人工智能·算法·架构·aigc
Json____33 分钟前
宿舍安全卫生检查系统:Node 全栈开发实战
java·前端·数据库·毕业设计·课程设计·毕设·wwwoop.com
pnoker36 分钟前
36 个驱动模块:应对协议碎片化
java·物联网·modbus·工业互联网·opc ua
码上有光37 分钟前
Linux:进程控制和进程替换
java·linux·服务器·进程控制·进程替换
默辨39 分钟前
我用Java后端的视角读了一遍JoyAgent-JDGenie
java·开发语言
SQL-First布道者44 分钟前
⚡ Spring JDBC 完整体系 · 第 5 讲 · Spring Boot Starter JDBC
java·spring boot·spring·mybatis·spring jdbc
宋哥转AI1 小时前
深入理解 AI Agent · 多 Agent 编排 #03:Supervisor 与 Orchestrator——Dream-SaaS 双层编排架构拆解
java·人工智能·ai