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在线业务实践-集群空闲 ...
随机推荐
- H3C配置文件的显示与维护
- vue-learning:0 - 目录
Vue-learning vue.js学习路径 Vue的API地图 点击查看vue的API地图 视图层 点击可直接到达详情页面 指令 {{ }} / v-html v-if / v-else / v- ...
- Linux 内核 中断 urb
函数 usb_fill_int_urb 是一个帮忙函数, 来正确初始化一个 urb 来发送给 USB 设备的 一个中断端点: void usb_fill_int_urb(struct urb *urb ...
- vue-learning:19 - js - filters
filters 基本使用 仅限在插值{{}}和v-bind指令中使用 管道符|分隔 链式调用 传入参数 全局注册和局部注册 纯函数性质(不能使用this) 基本使用 我们看下之前用计算属性实现的例子, ...
- C# 发送电子邮件(smtp)
相关享目托管在github: https://github.com/devgis/CSharpCodes
- Visual Studio Team Services使用教程【2】:添加团队成员
2017.4.23之后建议朋友看下面的帖子 TFS2017 & VSTS 实战(繁体中文视频) Visual Studio Team Services(VSTS)与敏捷开发ALM实战关键报告( ...
- 使用Git和Github来管理自己的代码和笔记
一.Github注册 1.先注册github.com的账号,官方网站: https://github.com/ 2.登录 3.创建仓库,仓库分公开的和私有的,公开的是免费的,私有的是收费的.我现在创建 ...
- 关于启动php-fpm失败的解决办法
当我执行 sudo lnmp php-fpm restart会出现如下错误 Starting php-fpm /usr/local/php/sbin/php-fpm: error while load ...
- Struts2标签库常用标签(转)
struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...
- Mac-安装命令一览表
最近一直在学习Mac,可谓是撞了南墙撞西墙,各种问题需要动手去解决. 今天整理下在笔者Mac下面的各种命令 苹果自带的命令 sudo git ruby node 需要我们安装的命令 brew gem ...