IntelliJ IDEA 修改内存大小

news2024/11/25 16:40:41

idea有个配置文件,可以设置内存大小的,就跟咱的jvm的内存里面的堆大小,栈大小等等,可以设置的,而且设置了之后,你这个的性能就会得到提升。具体看下面怎么修改。

先说所要修改的文件 idea.vmoptions 的位置,这个不同的平台,估计名称可能有些差别。mac的如下图

具体怎么找到这个地方的,刚刚使用mac的估计不会,老手就会啦,

option + cmd + P 隐藏或显示“访达”窗口中的路径栏

这个就是显示我上图的地步的那个路径,然后你就可以像Windows那样点点点到这个位置啦。

这个是idea的17版本的配置文件里面的信息,默认的设置这么简单,就这么几个。

说明: 1.Xms128m,最小内存 2.Xmx750m,最大内存 3.预留代码缓存的大小 4.UseConcMarkSweepGC,设置年老代为并发收集

默认值设置的太小啦,所以,你使用idea跑稍微大点的项目,你的电脑就会像拖拉机一样,嗡嗡嗡的响,哎哟我新买的macpro啊,启动个多模块的maven项目,就跟拖拉机似的,开始响啦,搞得同桌笑我买的是不是真的啊。尴尬啦。

修改后的配置

因为我电脑是16g的内存,现在8g算是标配吧,最小一个g,最大2个g。下面的代码缓存也给一个g。

修改的地方,就修改啦这么三个地方,至于为啥设置2个g最大,因为我看啦一篇文章,他做过测试啦,你设置的再大就浪费啦,但是系统默认的750m也太小了,项目大的话,分分钟就卡啦,这就跟jvm的内存设置似的,太大的话也不好,太小的话也不好。找个平衡的设置,是不错的。

设置完成之后,需要重启一下idea,然后就会看到下面的变化。注意右下角。

这个地方怎么弄出来?

新增更新:idea升级之后,目前是2021.2版本,这个控制内存使用显示状态的地方换了,具体看下图。

在我没修改之前,这地方是750m的现在修改之后就成2个g啦,现在跑原来呢个嗡嗡嗡响的项目,现在也不响啦,电脑也不发烫啦。

有老铁问,内存8g的怎么着,我也不确定啊。我这放2张图。

这个是16g内存的电脑的内存使用实时图,可以看出来内存压力很小的,基本上也就是四分之一。

这个是8g内存的电脑的内存实时使用图,可以看出来内存压力也不大。也就差不多百分之五十吧。

解释一下:

不要看这2张图,一个16g的内存,但是已经使用了12个g啦,但是8个内存的电脑也已经使用了6.6,约等于7吧。这么看的话,内存使用率基本上都是百分之八九十的样子。

这个是正常的现象,因为内存本来就是给用的,你要是空着一大部分都不使用的话,不就浪费啦吗,所以,这个内存的使用率,不会因为你刚刚的那个配置而变化吧,主要是看那个内存的压力,2个图的内存压力都不大。还可以接受吧。

可以在如下图这个菜单的地方找到这个设置

上面这个截图使用的gc还是旧版的cms gc,下面贴上使用g1gc的配置,文字版,我的版本是2021.2

-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Xverify:none
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Dide.no.platform.update=true
-Dsun.io.useCanonCaches=false
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-Dsplash=true
-Dtoolbox.notification.token=97Umdj0YLuibBsUF2oZWyny6WLznUJE8ci9tfLqB-q4=
-Dtoolbox.notification.portFile=/Users/fang/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/212.4746.92/IntelliJ IDEA.app.vmoptions.port
-Didea.plugins.path=/Users/fang/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/212.4746.92/IntelliJ IDEA.app.plugins

复制

加内存(2021.12.16 更新)

之前的这个推荐最大内存是2个G,但是,在这么久的更新之后,他的功能越来越牛x了,相应的就需要给安排更多的内存给他挥霍,用空间换他的高速反应。所以:除了改了使用G1GC之外,内存给翻倍,设置最大4个G,也是必须的,要是开发的项目再大,还是卡的话,内存还是可以继续扩大的。毕竟G1GC就是针对大内存设计的GC器,前提是咱电脑内存充裕。不过现在都是8G起步,16G标配吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/519655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

总结常见评价指标

整理一下在机器学习中常见的评价指标,包括: 混淆矩阵,TPR,FPR,TNR,FNR;Precision,Recall,Accuracy,F-score(F1-meature)ROC曲线,AUC; …

[Vue warn]: You may have an infinite update loop in a component render function

老板让该一个bug,结果一连出现好几个问题,然后报错也是很奇葩,在源代码上不能直接定位到,只知道在当前页面上出现的问题,弄了好久,给大家分享一下解决的经验: You may have an infinite update …

2023 年Windows MySql 5.7,MySql 8.0 下载安装教程, 附详细图解

文章目录 下载 MySQL 安装程序安装 MySQL 数据库安装示例数据库连接到 MySQL 服务器 在本教程中,我们展示如何在 Windows 平台上下载和安装 MySQL 的详细步骤。 在 Windows 平台上安装 MySQL 很简单,并不需要太复杂的步骤。按照本文的步骤操练起来就可以…

【Win10错误】从80190001错误码恢复

目录 一、说明 二、操作过程和错误显示 三、修复过程 四、网上的其它参考意见 一、说明 出现0x80190001错误码,其原因是网络认证问题引起。但不是网络断开或路由不通而引起。一般是本地身份cooki无法认证而引起,一般出现在登录认证过程。本篇告诉大家…

2.4G无线游戏手柄方案开发

对于游戏玩家来说,好的外设才能有更好的游戏体验。相比于传统的有线手柄,2.4G无线游戏手柄采用2.4GHz射频无线连接方式,摆脱了连线的困扰。相比于鼠标键盘,游戏手柄在大部分游戏上的使用体验都会更好,让你的游戏体验更…

【MATLAB第30期】基于MATLAB的adaboost多分类预测集成学习模型(四种模型GDA高斯判别分析、Knn、NB朴素贝叶斯、SVM)

【MATLAB第30期】基于MATLAB的adaboost多分类预测集成学习模型(四种模型GDA高斯判别分析、Knn、NB朴素贝叶斯、SVM) 一、简介 弱分类器 %1.GDA高斯判别分析 %2.Knn (NumNeighbors 5) K邻近 %3.Naive Bayes 朴素贝叶斯 %4.SVM 支持向量机 强分类器 1.a…

【Vue】生命周期

文章目录 生命周期概念一、生命周期图示二、生命周期1.beforeCreate(){}2.created(){}3.beforeMount(){}4.mounted(){}5.beforeUpdate(){}6.updated&#xff…

C语言预处理详解

参考文章:c语言预处理 目录 程序的翻译环境和执行条件 翻译环境 编译本身也分为几个阶段 预处理 预处理指令 运行环境 程序执行的过程 预处理 预定义符号 #define #define定义标识符 #define定义宏 宏的申明方式 #define替换规则 #和## #的作用 ##…

OTP语音芯片 NV170D在充电桩的语音方案应用

新能源汽车是我国应对气候变化、推动绿色发展的战略举措,在政策和市场需求的推动下,我国新能源汽车产销量双双增长,新能源汽车保有量地稳步增长将会促进充电桩需求的扩大,企业也将进一步在电动汽车充电桩领域布局。 2022年10月11日…

Linux下的Tomcat的安装详解--值得一看

如有错误,敬请谅解! 此文章仅为本人学习笔记,仅供参考,如有冒犯,请联系作者删除!! 目录 简述静态网页和动态网页的区别。 简述 Webl.0 和 Web2.0 的区别。 tomcat8的安装,配置服…

物流行业如何运用IPD?

物流是供应链活动的一部分,是为了满足客户需要而对商品、服务消费以及相关信息从产地到消费地的高效、低成本流动和储存进行的规划、实施与控制的过程。物流以仓储为中心,促进生产与市场保持同步。物流是为了满足客户的需要,以最低的成本&…

奇葩的 Git 签名错误

最近公司电脑升级后又抽风了。 在访问 Git 的时候提示了证书签名错误。 主要提示的错误为: git.exe fetch -v --progress "origin" fatal: unable to access https://src.ossez.com/yhu-docs.git/: SSL certificate problem: unable to get local issue…

大学4年做出来这个算不算丢人

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

C51 - 红外遥控NEC协议

Infrared 1> 实验概述2> 红外遥控器2.1> 硬件电路 3> NEC红外传输协议3.1> 5部分构成3.2> 引导码3.3> 38KHz载波长啥样?3.4> 咋表示 0 / 1; 4> 红外接收5> 程序设计 1> 实验概述 通过红外遥控器,控制DAYi(51开发板&a…

【多线程初阶五】线程池常考面试题

目录 🌟一、线程池 🌈1、线程池是什么? 🌈2、为什么要使用线程池? 🌈3、怎么使用线程池? 1、使用标准库中的线程池(6种)——>不推荐使用。 2、自定义一个线程池…

【移动端网页布局】flex 弹性布局子项目属性 ① ( flex 属性用法说明 | 代码示例 : 占有剩余布局 / 平均分成若干等份 )

文章目录 一、flex 子项目常用属性1、子项目常用属性介绍2、flex 属性用法说明 二、flex 属性代码示例1、代码示例 - 左右两侧 100 像素 / 中间元素占有所有剩余布局3、代码示例 - 平均分成三等份 一、flex 子项目常用属性 1、子项目常用属性介绍 flex 子项目 的常用属性 : fl…

FL Studio 2023年最新安装使用图文教程,FL Studio 21怎么激活解锁?

Image-Line宣布针对Win和Mac版本的数字音频工作站FL Studio的21版本更新。FL Studio2023是一个完整的软件音乐制作环境或数字音频工作站(DAW)。代表超过 25年的创新发展,它包含了您在一个包装中编排,编排,录制&#xf…

查询数据(数据库)——简单查询

目录 1.最简单的查询 (1)查询指定列 (2)查询所有列 (3)查询计算列 (4)为列起别名 (5)使用DISTINCT关键字消除重复元组 2.查询满…

Kyligence Zen产品体验--小白也能快速上手的指标平台

一、写在最前 啥是Kyligence Zen? Kyligence Zen 是基于 Kyligence 核心 OLAP能力打造的一站式指标平台。凭借集业务模型、指标管理、指标加工、数据服务等于一体的解决方案,Kyligence 协助过多家金融、零售、制造企业客户搭建企业级指标平台。Kyligence Zen 是 K…

常见八种排序实现方法

常见八种排序实现方法 前言快速排序堆排序冒泡排序代码 选择排序代码部分 插入排序思路讲解代码部分 希尔排序代码部分思路讲解 归并排序递归思路讲解代码部分 非递归梭哈代码部分思路讲解 非梭哈代码部分 计数排序代码部分 前言 这里的快速排序和堆排序博主以前都写过&#xf…