IntelliJ IDEA编辑文件的时候CPU飙高问题的解决
原文地址:https://www.javatang.com/archives/2018/04/26/25582403.html
上篇文章中说明了解决IntelliJ IDEA中文输入法无提示的问题,最近将IntelliJ IDEA升级到了最新的2018.1,发现在编辑文件的时候CPU飙高,从而显得有一些卡顿。于是开始下面的一些设置:
目录 [隐藏]
软硬件环境
CPU: Intel i7 4核
内存:16G
IntelliJ IDEA版本:2018.1
操作系统:Windows 7
设置JVM的启动参数
首先修改和idea64.exe文件同目录的idea64.exe.vmoptions文件(32位的文件名为idea.exe.vmoptions),开启server模式并加大最大内存,内容如下:
-server
-Xms1024m
-Xmx2048m
-Xverify:none
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
PS1: 也可以通过 Help - Edit Custom VM Options...菜单设置jvm的配置,这样设置的话会在 <idea.config.path> 的config目录下生成一个idea64.exe.vmoptions文件,IntelliJ会优先使用这个地方的配置文件。
PS2: 通过下面的设置可以在右下角查看内存的设置及使用情况:
设置编译和Maven的JVM内存
因为设置成了自动编译,并且发现保存文件的时候CPU瞬间飙高,所以需要将编译进程和Maven的堆值设置大一些,见下图:

取消除了Error级别之外的代码检查
IntelliJ的代码检测功能非常强大,但同时也占用了一些资源,可以将默认的除 Error之外的其他级别的检测都去掉,先做下面的筛选,然后逐个勾掉即可:
更改启动的JDK
更改启动的JDK的方法在 JetBrains系列(IntelliJ IDEA、WebStorm等)中文输入法无提示问题的解决 这篇文章里面有详细的介绍,针对IntelliJ 2018.1来说,最后检测下来最新版的jbsdk8u152b1248.5整体感觉还不错,可以在 https://dl.bintray.com/jetbrains/intellij-jdk/ 进行下载。
清空缓存并重建索引
在做完上述设置之后,最好通过点击 File -> Invalidate Caches / Restart...菜单,然后点击 Invalidate and Restart按钮清空并重建索引,然后重启。再次启动程序之后,会首先重建索引和缓存。
升级到 2018.2
上述的这些方法虽然有一些改善,但还没有彻底的解决这个问题。不过根据JetBrains官方的 ISSUE#JRE-365、ISSUE#IDEA-185075、ISSUE#IDEA-183973显示,最终解决的版本都是 2018.2,所以还是静候并升级到最新版本吧。
参考资料:
Intellij IDEA 2016.2 high CPU usage
intellij idea cpu占用率太大太满 运行速度太慢 使了五个解决方法最终成功
Related Posts:
IntelliJ IDEA编辑文件的时候CPU飙高问题的解决的更多相关文章
- 记一次yarn导致cpu飙高的异常排查经历
yarn就先不介绍了,这次排坑经历还是有收获的,从日志到堆栈信息再到源码,很有意思,下面听我说 问题描述: 集群一台NodeManager的cpu负载飙高. 进程还在但是看日志已经不再向Resourc ...
- 现网CPU飙高,Full GC告警
现网CPU飙高,Full GC告警 https://www.cnblogs.com/QG-whz/p/9647614.html 问题出现:现网CPU飙高,Full GC告警 CGI 服务发布到现网后, ...
- 一次FGC导致CPU飙高的排查过程
今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的. 于是去测试服务器看了一下,发现服务器负载很高, ...
- 如何优雅排查现网服务器cpu飙高的问题
1.排查现网服务器cpu飙高问题的思路 1.查看java进程id ps -ef|grep java 2.使用top -Hp 进程id 查看cpu比较高的线程 3.执行jstack 进程id > ...
- 【面试普通人VS高手系列】CPU飙高系统反应慢怎么排查?
面试过程中,场景类的问题更容易检测出一个开发人员的基本能力. 这不,一个小伙伴去阿里面试,第一面就遇到了关于"CPU飙高系统反应慢怎么排查"的问题? 对于这个问题,我们来看看普通人 ...
- 系统CPU飙高,怎么排查?
cpu是整个电脑的核心计算资源,对于一个应用进程来说,cpu的最小执行单元是线程. 导致cpu飙高的原因有几个方面: cpu上下文切换过多,对于cpu来说,同一时刻下每个cpu核心只能运行一个线程,如 ...
- 生产系统CPU飙高问题排查
现状 生产系统CPU占用过高,并且进行了报警 排查方法 执行top命令,查看是那个进程导致的,可以确定是pid为22168的java应用导致的 执行top -Hp命令,查看这个进程的那个线程导致cpu ...
- java进程CPU飙高
因为这段时间一直在弄监控,但是工作还是在进行中 因为机器不多,所以今天早上巡检了一下,看到一台生产机器上的CPU飙高 top
- STORM在线业务实践-集群空闲CPU飙高问题排查
源:http://daiwa.ninja/index.php/2015/07/18/storm-cpu-overload/ 2015-07-18AUTHORDAIWA STORM在线业务实践-集群空闲 ...
随机推荐
- Mockito -- 入门篇
Mockito是一种mock工具/框架.我理解EasyMock有点过时了,Mockito是现在比较流行的. 什么是mock?说的直白一点,大家都知道unit test应该是尽可能独立的.对一个clas ...
- 2018-11-1-Windows-Community-Toolkit-3.0-新功能
title author date CreateTime categories Windows Community Toolkit 3.0 新功能 lindexi 2018-11-1 9:2:55 + ...
- vue移动端图片上传压缩
上传压缩方法 import {api} from '../../api/api.js'; import axios from 'axios'; export function imgPreview ( ...
- java 环境 笔记
1. 下载idea https://blog.csdn.net/yl1712725180/article/details/80309862 破解方法: 针对20 ...
- docker安装,和虚拟机区别
docker安装 1 在 CentOS 6.4 上安装 docker docker当前官方只支持Ubuntu,所以在 CentOS 安装Docker比较麻烦(Issue #172). docker官方 ...
- Java虚拟机理解-内存管理
运行时数据区域 jdk 1.8之前与之后的内存模型有差异,方法区有变化(https://cloud.tencent.com/developer/article/1470519). java的内存数据区 ...
- 一些实战中总结的 javascript 开发经验
Javascript 的很多扩展的特性是的它变得更加的犀利, 同时也给予程序员机会创建更漂亮并且更让用户喜欢的网站. 尽管很多的开发人员都乐于颂扬 javascript,但是仍旧有人看到它的阴暗面. ...
- Java面向对象程序设计第7章1-8
Java面向对象程序设计第7章1-8 1."程序中凡是可能出现异常的地方必须进行捕获或拋出",这句话对吗? 不对. 异常分两类,runtime异常和非runtime异常. runt ...
- python 处理xml文件
需求 在实际应用中,需要对xml配置文件进行实时修改, 1.增加.删除 某些节点 2.增加,删除,修改某个节点下的某些属性 3.增加,删除,修改某些节点的文本 <annotation> & ...
- 洛谷$P$3160 局部极小值 $[CQOI2012]$ 状压$dp$
正解:状压$dp$ 解题报告: 传送门! 什么神仙题昂,,,反正我是没有想到$dp$的呢$kk$,,,还是太菜了$QAQ$ 首先看数据范围,一个4×7的方格,不难想到最多有8个局部极小值,过于显然懒得 ...