# Why is $ProcessorCount not equal to LaunchKernels[ ]? Normally, number of $ProcessorCount should be the same as LaunchKernels[], but if they are not the same, what is the problem?

Update

I just tried to manually launch kernel as this

LaunchKernels[24]


And test parallel computation, surprisingly, it indeed use 24 cores at the same time

Than why $ConfiguredKernels is 16 by default? I tried setting $ConfiguredKernels=24, but LaunchKernels[] still gives 16 kernels. What is wrong?

• You may want to check your $ConfiguredKernels value, as well as the configuration in Preferences -> Parallel -> Local Kernels. The licensing limitations will of course depend on the actual license being used. Nov 17 '15 at 17:59 • @ilian You are right. $ConfiguredKernels shows 16. But what does this mean "The licensing limitations will of course depend on the actual license being used.“? $MaxLicenseSubprocesses shows infinity Nov 18 '15 at 0:47 • You are probably using a MathLM license server, so you can launch as many kernels as you like, as long as there are network licenses available for them; monitorlm can be used to query the server for the number of authorized/available/in use processes. Nov 18 '15 at 2:12 • @ilian I didn't install MathLM. So I think this may not be the right point. Nov 18 '15 at 8:05 • @ilian I add new phenomena in the post Nov 18 '15 at 8:29 ## 1 Answer Your license may only allow 16 subkernels. You can check this by evaluating $MaxLicenseSubprocesses

• Well, it is actually infinity... Nov 17 '15 at 13:12
• @matheorem Well, what happens if you try to launch more than 16? Nov 17 '15 at 15:20
• Yeah, I just feel confused about that. No matter on my laptop or on HPC, if I run LaunchKernels[num], num greater than processorcount, It will give a kernel list of exactly num, I don't understand what does that mean. Nov 17 '15 at 15:39