如何减少我的应用程序的 CPU 消耗
Posted
技术标签:
【中文标题】如何减少我的应用程序的 CPU 消耗【英文标题】:how to reduce the cpu consumption of my application 【发布时间】:2018-08-30 11:55:39 【问题描述】:一段时间以来,我的应用开始消耗大量 CPU。一段时间以来,我的应用程序开始消耗大量 CPU。我安装了JProfiler,据我了解,hibernate的c3p0有问题。我用的是hibernate 4.3,jsf2.2.10 + primefaces 5.2,tomcat 8.5,也用ehcache。
这是我打印的一些结果。
【问题讨论】:
【参考方案1】:你可以改为使用Hikari连接池,
查看 Brett Wooldridge 的 C3P0 池分析:
我们统计了超过 230 次同步块和方法的使用,以及跨各种类的 wait() 和 notifyAll()。与采用无锁设计的 HikariCP 和 Vibur-DBCP 相比为 0。锁的广泛使用会导致代码容易死锁,可以通过谷歌搜索“c3p0 deadlock”找到这方面的证据。
我们确实认为 C3P0 似乎涵盖了所有基本面。不幸的是,C3P0 在每一项微基准测试中也始终排在最后。
不安全的默认值 默认情况下不会:
在 getConnection() 时测试连接
【讨论】:
谢谢,我去测试一下。 @MarlucioPires 如果你更新结果会很棒以上是关于如何减少我的应用程序的 CPU 消耗的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的程序在 nVidia NView 下会消耗 100% CPU?
Application.Run 是我的应用程序中最消耗 CPU 的函数;我可以优化啥?