应用程序可以通过哪些方面提高对CPU的利用率
nitkey已经说得很完整了,我随便补充下。
要提高CPU利用率,本质上还是减少IO wait, 调用异步IO是很好的实现方式,但会增加应用程序设计的难度。
然后就是计算资源云化,虚拟化/容器本身也是一种应用,通过将资源集中,统一调配,合理分配计算资源,能够提高CPU的使用效率。
1.选择合适的I/O size,包括初始化缓冲区,系统调用,上下文切换灯,从效率上说,每次I/O传输的数据越多,效率越高
2.善于利用缓存,但是缓存需要考虑缓存的一致性
3.并发和并行,通过多进程或者多线程的编程方式
4.非阻塞I/O,异步发起I/O,不阻塞当前的线程,线程可以执行其他工作
5.CPU绑定,线程执行I/O后,能像执行I/O之前那样运行在同一CPU上,提高应用程序的内存本地性,减少内存I/O
6.垃圾回收,GC会消耗CPU资源,JAVA类应用程序也需要特别关注GC
oracle的话一般会开启异步IO。多个dbwr进程。
通过增加IO速度,提高CPU利用率
关于TWT使用指南社区专家合作厂商入驻社区企业招聘投诉建议版权与免责声明联系我们 © 2024talkwithtrend — talk with trend,talk with technologist京ICP备09031017号-30