如何减少我的应用程序的 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 的函数;我可以优化啥?

在 iOS 中以编程方式减少因后台活动而导致的电池消耗

我的多线程游戏一直处于 100% CPU。如何管理线程活动以减少 CPU 负载?

如何实现流畅观影体验?视频类应用内存和CPU大调查