工具篇: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 盘);
  • 虚拟内存并非越大越好,过大可能占用过多磁盘空间,过小则可能导致内存不足错误。

总结

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

相关推荐
Leo July7 小时前
【Java】Spring Security 6.x 全解析:从基础认证到企业级权限架构
java·spring·架构
康康的AI博客7 小时前
腾讯王炸:CodeMoment - 全球首个产设研一体 AI IDE
ide·人工智能
星火开发设计7 小时前
C++ 数组:一维数组的定义、遍历与常见操作
java·开发语言·数据结构·c++·学习·数组·知识
码道功成7 小时前
Pycham及IntelliJ Idea常用插件
java·ide·intellij-idea
消失的旧时光-19438 小时前
第四篇(实战): 订单表索引设计实战:从慢 SQL 到毫秒级
java·数据库·sql
それども8 小时前
@ModelAttribute vs @RequestBody
java
雨中飘荡的记忆9 小时前
深度详解Spring Context
java·spring
Tao____9 小时前
JAVA开源物联网平台
java·物联网·mqtt·开源·ruoyi
yqd6669 小时前
SpringSecurity的使用
java·spring
仙俊红9 小时前
Java Map 家族核心解析
java·开发语言