本文概览:在设置线程池大小时,需要设置为cpu的个数+1。通过如下命令来查看机器的cpu个数。
1 设置线程池大小
在设置线程池大小时,需要设置为:
- 计算密集型:cpu的个数+1。
- IO密集型:2*cpu个数 + 1。
2 linux查看cpu核数
1. 三个命令
(1)命令
- 查看物理CPU个数
1cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l - 每个物理CPU中core的个数(即核数)
1cat /proc/cpuinfo| grep "cpu cores"| uniq - 逻辑CPU的个数 ,这个是我们的机器总的cpu的个数,也是设置线程池大小的时候考虑的cpu的个数。
1cat /proc/cpuinfo| grep "processor"| wc -l
(2) 三个命令的关系为:
1 |
物理cpu个数 * 每一个物理cup的个数 = 逻辑cpu的个数。 |
2、下面是cpuinfo的一条记录,如下字段含义
- processor:逻辑cpu的id
- physical id:物理cpu的id
- cpu cores :每一个物理cpu的core的个数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 62 model name : Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz stepping : 4 cpu MHz : 2101.000 cache size : 15360 KB physical id : 0 siblings : 6 core id : 0 cpu cores : 6 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms bogomips : 4200.05 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management: |
(全文完)