Number of Processors Exceeds the License Maximum Error
Valid for version 10.0.0+.
Problem
The following error appears while executing a plan or a workflow: "Your number of processors (4) exceeds the license maximum (2)".
Solution
Normally, DQC limits the number of processors used automatically. The inability to change CPU affinity for the DQC (or any other Java) process is usually caused by a lack of user permissions.
Solution on Linux
To enable CPU affinity change, the user launching the process must have read/write permissions to the Java temporary folder (specified by the -Djava.security.egd
system parameter in the jre/lib/security/java.security
file). You can do this in two equivalent ways:
Set
-Djava.security.egd
to a directory with read/write permissions for the user.Make the user an owner of the folder which is identified in the
-Djava.security.egd
system parameter.
As a one-time workaround, it is possible to limit the usage of cores for a particular process using the taskset -cp <core-list> <pid>
command.
In case of ONE add the following parameter in application-MONOLITH.properties file located in \one\conf folder:
dqc.process.javaArgs=-Djava.io.tmpdir=/path to temporary folder/
Make sure that user which is used to start ONE has permissions for that temporary folder.
Solution on Mac
It is not possible to change CPU affinity on Mac OS because of the system architecture.
To solve the issue on Mac, request a license for a particular Mac computer having the same maximum number of processors as the computer physically has.
Solution on Windows
The issue does not appear on Windows.
Related Articles