java中新建线程池时需要设置核心线程数和最大线程数,而设置前需要先了解机器的cpu数,否则不能充分发挥多核cpu的优势。
一般情况,逻辑cpu数=物理cpu数乘以每cpu的核数。如果cpu支持超线程技术,逻辑cpu数会大于上述乘积,比如是乘积的2倍。
# 物理cpu数
cat /proc/cpuinfo | grep "physical id" | sort | uniq|wc -l
#cpu核数
cat /proc/cpuinfo | grep "cores"|uniq
#逻辑cpu数
cat /proc/cpuinfo | grep "processor" |wc -l