原文地址: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-365ISSUE#IDEA-185075ISSUE#IDEA-183973显示,最终解决的版本都是 2018.2,所以还是静候并升级到最新版本吧。

参考资料:
Intellij IDEA 2016.2 high CPU usage
intellij idea cpu占用率太大太满 运行速度太慢 使了五个解决方法最终成功

IntelliJ IDEA编辑文件的时候CPU飙高问题的解决的更多相关文章

  1. 记一次yarn导致cpu飙高的异常排查经历

    yarn就先不介绍了,这次排坑经历还是有收获的,从日志到堆栈信息再到源码,很有意思,下面听我说 问题描述: 集群一台NodeManager的cpu负载飙高. 进程还在但是看日志已经不再向Resourc ...

  2. 现网CPU飙高,Full GC告警

    现网CPU飙高,Full GC告警 https://www.cnblogs.com/QG-whz/p/9647614.html 问题出现:现网CPU飙高,Full GC告警 CGI 服务发布到现网后, ...

  3. 一次FGC导致CPU飙高的排查过程

    今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的. 于是去测试服务器看了一下,发现服务器负载很高, ...

  4. 如何优雅排查现网服务器cpu飙高的问题

    1.排查现网服务器cpu飙高问题的思路 1.查看java进程id ps -ef|grep java 2.使用top -Hp 进程id 查看cpu比较高的线程 3.执行jstack 进程id > ...

  5. 【面试普通人VS高手系列】CPU飙高系统反应慢怎么排查?

    面试过程中,场景类的问题更容易检测出一个开发人员的基本能力. 这不,一个小伙伴去阿里面试,第一面就遇到了关于"CPU飙高系统反应慢怎么排查"的问题? 对于这个问题,我们来看看普通人 ...

  6. 系统CPU飙高,怎么排查?

    cpu是整个电脑的核心计算资源,对于一个应用进程来说,cpu的最小执行单元是线程. 导致cpu飙高的原因有几个方面: cpu上下文切换过多,对于cpu来说,同一时刻下每个cpu核心只能运行一个线程,如 ...

  7. 生产系统CPU飙高问题排查

    现状 生产系统CPU占用过高,并且进行了报警 排查方法 执行top命令,查看是那个进程导致的,可以确定是pid为22168的java应用导致的 执行top -Hp命令,查看这个进程的那个线程导致cpu ...

  8. java进程CPU飙高

    因为这段时间一直在弄监控,但是工作还是在进行中 因为机器不多,所以今天早上巡检了一下,看到一台生产机器上的CPU飙高 top

  9. STORM在线业务实践-集群空闲CPU飙高问题排查

    源:http://daiwa.ninja/index.php/2015/07/18/storm-cpu-overload/ 2015-07-18AUTHORDAIWA STORM在线业务实践-集群空闲 ...

随机推荐

  1. H3C配置文件的显示与维护

  2. 【t056】智力问答(multiset做法)

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 新年联欢会上,G.Sha负责组织智力问答节目.G.Sha建立了一个很大很大的超级题库,并衡量了每道题的 ...

  3. 微软软件开发技术二十年回顾-.NET框架篇

    六. .NET框架篇 .NET是微软自从发布Windows 3.0以来最为激动人心的新技术,是微软战略上为下一个十年对服务器和桌面软件工程的第一步,是微软的一场世纪大豪赌.对于.NET,微软的定义是, ...

  4. Cookie的使用、Cookie详解、HTTP cookies 详解、获取cookie的方法、客户端获取Cookie、深入解析cookie

    Cookie是指某些网站为了辨别用户身份.进行session跟踪而存储在用户本地终端上的数据(通常经过加密),比如说有些网站需要登录才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我 ...

  5. Team Foundation Server 2015使用教程【10】:团队项目删除

  6. Python2_实现文件中特定内容的获取

    ===================================================== 参考链接 Python 文本文件内容批量抽取:https://blog.csdn.net/q ...

  7. Python正则表达式之findall疑点

    在findall中使用()进行分组时,得出的结果会优先提取分组的,比如下面这个例子 In [46]: re.findall(r"www.(baidu|163).com", &quo ...

  8. div3的e题有点水呀

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  9. DEVOPS技术实践_03:Jenkins自动构建

    一.提交代码自动构建 当开发人员在gitlab提交代码后,会自动触发jenkin构建 点击项目---->点击diy_maven-TEST----->点击配置--->构建触发器---- ...

  10. SpringBoot拦截器没有生效的原因

    最近的一个项目中,需要实现一个记录系统请求日志的功能,我通过拦截器实现了这个功能,但是,测试的时候发现拦截器没有发挥作用,检查了很久,没有发现错的地方,系统也没有报错,最终在网上找打了答案. 原来之前 ...