Configuring Thread Stack Size
About Thread Stack Size
Thread stack size is the amount of memory allocated to a single Java Virtual Machine (JVM) thread, such as HTTP, IMAP, or POP3. This setting is stored in zmlocalconfig. The default thread stack size varies depending on the server.
Systems running a large number of thread stacks may need to set a smaller the thread stack size in order to improve performance. For optimal performance, Zimbra recommends configuring your thread stack size to 256k.
Important: The thread stack size should never be smaller than 128k. Setting the thread stack size smaller than this can result in a failure to allocate threads.
Configuring your Thread Stack Size
In order to configure this parameter, you must add the –Xss option to tomcat_java_options.
Note: For ZCS 5.0 or later, this options is added to mailboxd_java_options.
The syntax of this parameter is:
-Xss<value>
For example, in order to set the thread stack size to 256k, you would type:
-Xss256k
Note: There is no space between the parameter designation and its value.
Monitoring for Thread Stack Size Errors
It is good practice to monitor /opt/zimbra/log/mailbox.log for errors after changing the thread stack size. If you are getting errors such as java.lang.StackOverflowError, your thread stack size is too large.
Related Articles
- Performance Tuning Guidelines for Large Deployments: Java Settings for Tomcat
- CLI zmlocalconfig (Local Configuration)