Intellij idea 14 好idea cpu占用率过高CPU,不知道有没有解决方法

Intellij idea 14 好占用CPU,不知道有没有解决方法_百度知道
Intellij idea 14 好占用CPU,不知道有没有解决方法
我有更好的答案
settings-&editor-&gt,这个可根据需要关闭一些;关闭方法:file-&gt.io.useCanonCaches=false-Dsun.awt.keepWorkingSetOnMinimize=true-Djava.net.preferIPv4Stack=true-Djsse配置jvm的参数.enableSNIExtension=false-XX,全部关闭后效果明显:+UseCodeCacheFlushing-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50第二步就是关闭代码检查,代码检查没必要都检查,非常耗费性能,idea(64).exe.vmoptions内容如下:-Xms1024m-Xmx2048m-XX:MaxPermSize=512m-XX:ReservedCodeCacheSize=256m-ea-Dsun
硬件性能不足,只有升级这一个办法。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。我的一个java程序偶尔会出现cpu占用很高的情况一直不知道什么原因今天终于抽时间解决了系统是win2003jvisualvm 和 jconsole貌似都只能看到总共占用的cpu 看不到每个线程分别占用的cpu呢所以在windows平台上要找出到底是哪个线程占用的cpu还不那么容易,linux用top就简单多了最后的解决方法:1.找到java进程对应的pid。找pid的方法是:打开任务管理器,然后点击 "查看" 菜单,然后点击 "选择列",把pid勾上,然后就可以在任务管理器里面看到所有进程的pid值了。(也可以用第三步中提到的工具直接查看)2.然后把java进程导出快照。直接运行命令。[java]
我这里是指定把java所有的信息导出到c盘的31372.stack的文件里。3.在windows下只能查看进程的cpu占用率,要查看线程的cpu占用率要借助其他的工具,我这里用的是微软提供的 Process Explorer v15.3下载地址http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx下载完后解压运行右键点击需要查看的进程---properties4.然后选择 Threads 选项卡,找到占用cpu的线程的tid,比如我这里是 31876 的线程5.把pid转换成16进制,我这里直接用系统自带的计算器转换,置于为什么要转换,是因为先前用jstack导出的信息里面线程对应的tid是16进制的。最后得到的线程pid的16进制的值为 7C846.在 c盘的31372.stack文件中查找 7C84由于是我的程序已经该过了,这里没有异常的东西,所以这里没有什么异常内容。我的问题没解决之前,找到到这里的内容为:[java]
于是 打开 t com.horn.util.MyEncrypt.encode(MyEncrypt.java:17)分析了下代码,问题找到了。问题代码为:[java]
这样票眼看 是没问题当时我写这段代码也没注意关键在于 Math.random()的取值范围是大于0小于1 是吧?如果Math.random() 的值为 0.00009以下... 就成死循环了...现在修改为了[java]
希望能给遇到问题的朋友一些帮助。【编者按】本文作者在和同事的一次讨论中发现,对 IntelliJ IDEA 内存采用不同的设置方案,会对 IDE 的速度和响应能力产生不同的影响。
Don’t be a Scrooge and give your IDE some more memory
不要做守财奴,给IDE多留点内存吧。
昨天,大家就是否自定义
的内存设置进行了讨论,有些人选择默认设置,有些人会对默认的设置进行简单的变更,还有一些开发者会基于他们的需求进行全面复杂的设置。笔者目前的工作是处理几个微服务项目和一个老项目,而客户的核心业务需求非常大。对 IntelliJ IDEA 内存进行简单设置以后,笔者明显感受到了该 IDE 在速度和响应方面的改善。但当时笔者并未进行具体的测量,所以这只是主观感受而已。
不过,参与讨论的一位开发者给笔者发了一份他的设置,虽然是针对同个项目,该设置却极其复杂。笔者对自己的设置并无不满,但非常好奇,这些完全不同的设置对比 JetBrains 提供的默认设置,会有怎样的不同。
笔者的计划是,在一个接近日常开发项目的场景下(加载一个大项目、加载2、3个微服务、git pull 后刷新大项目),测试各个设置带来的效果,并选出内存消耗和速度都达到最优时的最佳设置。
测试机器和项目
笔记本电脑:MacBook Pro Retina, 2.3GHz Intel Core i7, 16GB 1600Mhz DDR3,SSD Disc, OS X Yosemite
大项目—— Monolith ,70万行代码(
8 和 Groovy ),303个Gradle模块
两个微服务——约有10000——20000行代码( Java 8 和 Groovy )的小项目,各有一个Gradle模块
在 Idea 中关闭所有项目
基于测试文件 idea.vmoptions 进行设置
启动后关闭所有不相关的项目( communicators 等等)
打开 Idea(测试时间)
打开大项目(测试时间)
检查 jstat -gcutil
打开两个微服务项目(测试时间)
检查 jstat -gcutil
返回大项目然后点击“刷新 Gradle 项目”按钮(测试时间)
检查 jstat -gcutil
jstat -gcutil
jstat 是 JDK 自带的工具,主要利用 JVM 内建的指令对 Java 应用程序的资源和性能进行实时的命令行监控,还包括对 Heap size 和垃圾回收状况的监控。它有许多选项来收集各种数据(),但这里只会用到: -gcutil :
-gcutil - Summary of garbage collection statistics.
S0: Survivor space 0 utilization as a percentage of the space's current capacity.
S1: Survivor space 1 utilization as a percentage of the space's current capacity.
E: Eden space utilization as a percentage of the space's current capacity.
O: Old space utilization as a percentage of the space's current capacity.
M: Metaspace utilization as a percentage of the space's current capacity.
CCS: Compressed class space utilization as a percentage.
YGC: Number of young generation GC events.
YGCT: Young generation garbage collection time.
FGC: Number of full GC events.
FGCT: Full garbage collection time.
GCT: Total garbage collection time.
这个命令的输出结果如下:
YGC YGCT FGC
89.70 0.00 81.26 74.27 95.68 91.76 40 2.444 14
在本文中,最重要的参数是 GC 事件( YGC 和 FGC )次数和收集时间( YGCT 和 FGCT )。
笔者设置了四种不同的设置,为了好记,给它们起了不同的名字。
默认(灰色标识)
JetBrains 提供的默认设置:
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops
Big(大)(红色标识)
给 Xmx 配 4096MB, ReservedCodeCacheSize 设置 1024MB,这已经是相当多的内存了:
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
Balanced(平衡的)(蓝色标识)
Xmx 和 Xms 都分配 2GB ,这是相当平衡的内存消耗:
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
Sophisticated(复杂的)(橘色标识)
和上面一样, Xmx 和 Xms 都分配2GB,但是给 GC 和内存管理指定不同的垃圾回收器和许多不同的标志:
-XX:NewRatio=3
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:ConcGCThreads=4
-XX:ReservedCodeCacheSize=240m
-XX:+AlwaysPreTouch
-XX:+TieredCompilation
-XX:+UseCompressedOops
-XX:SoftRefLRUPolicyMSPerMB=50
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false
以上便是笔者的测试设置,为了执行该测试用例,还需要在~/Library/Preferences/IntelliJIdea15/下创建一个idea.vmoptions文件(这是 Mac OS 系统下的路径设置,,基于你的操作系统进行设置)
现在,执行测试用例并比较结果。
Idea启动时间
正如上图所示,启动时间并不依赖于内存设置。 Idea 在所有场景下的测试时间都是10秒,无论内存分配有多少。这并不足为奇,因为在此早期阶段,这些设置并不会影响到应用的行为。
加载大项目花费的时间
现在加载 Monolith 项目及其70万行代码。
终于,出现了一些的差异。默认设置所花费的时间几乎是其它的3倍。很明显,如此庞大的代码库需要更多的内存。如果我们执行:
jstat -gcutil &IDEA_PID&
会发现,对比其它设置, GC 在默认设置下会变得异常忙碌。
不仅 GC 释放内存的总时间非常高(几乎达到了50倍),而且 Full
GC 的平均执行时间也非常非常长。大量的时间都花在了 Full GC 上面,这是 IDE 响应速度低的主要原因。
在IDEA中打开两个微服务
现在加载这两个微服务项目,在 IDEA 中打开并且对比他们所消耗的时间。
在这个测试用例下,差异还是非常明显的,复杂设置表现最佳,而默认设置仍旧输给了其他两种设置。
再次使用jstat –gcutil
加载完两个微服务项目后,来检查一下同时打开3个项目的情况下, GC 的表现情况。经测试发现,3个不同的自定义设置表现几乎差不多,而默认设置简直弱爆了。
最后的角逐:重新加载Monolith
现在,笔者需要从仓库中获得 Monolith 项目的最新版本,并且刷新 Gradle 模块,这样, IDEA 能看到所有的新类。
重要提示:代表默认设置的灰色条形柱非常高,因为 IDEA 在刷新过程中崩溃了,笔者无法测量实际时间。显然,默认分配的内存不足以执行该操作。
但从三个自定义例子中可以发现,大内存配置花费的时间是最短的。所以,内存分配还是起到了作用。
最后一次使用jstat-gcutil
因为 IDEA 在默认设置下无法刷新项目,所以,这次测试默认设置就不包括在里面。
从上图可以看出,三者之间的差异不大,但是 Big 配置下的 Full GC 执行时间最快。此外, Xmx 内存大些对响应能力提升的帮助非常明显。
在这次简短的实验中,大家可以发现,即使对 IntelliJ IDEA 内存进行微调,都可以大大提升 IDE 性能。当然,内存分配越多,执行效果就越好。但是,你也会发现, IDE 之外许多其他应用程序也需要消耗内存,所以,大家的目标应该是在提高性能和内存消耗之间找到一个平衡。笔者认为,在大多数情况下,把 Xmx 值设置在 2G 和 3G 之间是最佳的。如果你有更多的时间可以用 jstat 和 jvisualm 检查用不同的 JVM 设置如何影响性能和内存占用。
你的 idea.vmoptions 是如何配置的呢?你还有其它提高 InteliJ IDEA 性能的方法吗?不妨一起讨论讨论吧。
(编译自:
为您提供端到端的 ,我们支持所有常见的 Java 框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,从来没有如此简单。想阅读更多技术文章,请访问 。
作者你好,文中的柱状图是怎么做的?是excel或者number吗6被浏览2,358分享邀请回答01 条评论分享收藏感谢收起01 条评论分享收藏感谢收起写回答Intellij idea 14 好占用CPU,不知道有没有解决方法_百度知道
Intellij idea 14 好占用CPU,不知道有没有解决方法
我有更好的答案
运行3DMARK、打开精品网络电视、电脑开机进入系统后的10多秒钟;8:下载最新的防病毒软件,杀毒 3:系统运行应用软件出错。解决方法:用netstat -an&#160:强行关闭程序(CTRL+ALT+DEL)&#160:&#160:关闭&#160。&#1601:程序起用太多;查看是否有一些异常的活动端口,一般防火墙可以解决问题。 9、其它原因;4;驱动的时候;解决:关闭 5:降温软件 解决、被别人入侵 :关闭HT 解决方法:关闭一些程序2:病毒,造成停止响应(尤其在WIN98中) 解决,容易出现占用率高。 解决,再进系统,资源占用率高;解决:上网当最新的 7:含HT技术的P4CPU由于自身设计的关系(为最大限度的利用CPU而优化); 拷CD、电脑做服务器等:驱动不兼容如安装via 4合1 。解决方法;6:实时监控软件&#160、恶意代码&#160。&#160
采纳率:97%
来自团队:
换电脑,i5运行起来完全没压力
为您推荐:
其他类似问题
intellij的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 idea cpu占用率过高 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信