There are two ways to achieve this. One way is by using a JVM startup argument and the other way is by editing the config.xml file.
1) Using a JVM startup argument to specify the self-tuning thread pool size
To set a minimum thread pool size, add the following JVM startup argument to JAVA_OPTIONS in the WLS startup script.
To set a maximum thread pool size, add the following JVM startup argument:
2) Manually Editing config.xml for tuning self-tuning thread pool size
Add the following<self-tuning-thread-pool-size-min>and<self-tuning-thread-pool-size-max>tags as shown below in config.xml for all server instances to set the min and max values for the self-tuning thread pool. In the following snippet, we have taken 100 as the min value and 200 as the max value, but you can set it to whatever value that suits your environment.
<server> <name>TestServer</name> <self-tuning-thread-pool-size-min>100</self-tuning-thread-pool-size-min> <self-tuning-thread-pool-size-max>200</self-tuning-thread-pool-size-max> ... </server>
NOTE: If you set the values in both the JVM arguments and config.xml, the values in the JVM arguments will overwrite the values you defined in config.xml.