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

总结

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

相关推荐
q***13612 小时前
SpringSecurity相关jar包的介绍
java·jar
皮影w2 小时前
Java SpringAOP入门
java·开发语言
007php0072 小时前
Redis面试题解析:Redis的数据过期策略
java·网络·redis·缓存·面试·职场和发展·php
w***48823 小时前
Spring Boot3.x集成Flowable7.x(一)Spring Boot集成与设计、部署、发起、完成简单流程
java·spring boot·后端
u***1373 小时前
详解tomcat中的jmx监控
java·tomcat
Vic101013 小时前
Java 序列化与反序列化:深入解析与实践
java·开发语言
后端小张3 小时前
【JAVA 进阶】Spring Cloud 微服务全栈实践:从认知到落地
java·开发语言·spring boot·spring·spring cloud·微服务·原理
zl9798993 小时前
RabbitMQ-发布确认高级
java·分布式·rabbitmq
灰小猿3 小时前
分布式项目集成TLog实现轻量级日志链路追踪
java·分布式·springcloud·tlog·日志链路追踪