扫码关注官方订阅号
理论上,比如8核CPU可以同时运行8个thread,但是一般运行多少线程比较合适呢? 我觉得应该大于8个,因为可能有线程空闲,但是太多的线程会有很大的线程切换成本和占有太多内存。根据大家的经验,线程数应该怎么确定?
业精于勤,荒于嬉;行成于思,毁于随。
阻塞型任务:可用CPU*(5-10) 计算型任务:可用CPU数 JAVA并发编程实践中有讲过
线程大小 = ( (线程io时间 + 线程cpu) / 线程cpu time) * cpu核数可以参考本人的博客http://www.cnblogs.com/tylercao/p/4733238.html
经验上来说,一般使用CPU*2的量,当然这个没有科学依据。
根据cpu总核数的倍数去做实验,具体机器压测性能就知道
如果服务器就只有你一个程序就CPU数量,或者CPU数据*2都可以,如果还有其他程序,我建议是比CPU数量低,具体低多少还是测试一下看看实际情况。要不你把CPU资源都占了,CPU调度的大部分时间都可能命中你的程序。
看你的程序是计算密集还是io密集了,或者直接cpu数量*2。万能魔数-_-
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
阻塞型任务:可用CPU*(5-10)
计算型任务:可用CPU数
JAVA并发编程实践中有讲过
线程大小 = ( (线程io时间 + 线程cpu) / 线程cpu time) * cpu核数
可以参考本人的博客
http://www.cnblogs.com/tylercao/p/4733238.html
经验上来说,一般使用CPU*2的量,当然这个没有科学依据。
根据cpu总核数的倍数去做实验,具体机器压测性能就知道
如果服务器就只有你一个程序就CPU数量,或者CPU数据*2都可以,如果还有其他程序,我建议是比CPU数量低,具体低多少还是测试一下看看实际情况。要不你把CPU资源都占了,CPU调度的大部分时间都可能命中你的程序。
看你的程序是计算密集还是io密集了,或者直接cpu数量*2。万能魔数-_-