KNOWLEDGE BASE

Confirguring the Tableau Server Resource Manager (SRM) Settings


Published: 02 Oct 2017
Last Modified Date: 02 Oct 2017

Question

How to configure the Tableau Server Resource Manager (also known as SRM).

Environment

Tableau Server 9.3 and later versions

Answer

Before you configure...

Please note that modifications to the Tableau Server Resource Manager default values should not be made without verifying the changes with the Tableau Technical Support team. Changes to the default values might  affect your Tableau Server's performance.

Default Settings

The following table contains the default settings of the Tableau Server Resource Manager:

Setting Name and Description

Default Value

Value Type / Options

Note

native_api.check_interval_seconds

Sets the seconds between resource checks on server.
1Integers
Positive Integers
Computers with a higher than normal number of Tableau processes running can cause an overload to the Windows API being used, causing regressions in both Tableau and File System performance.
To avoid this, consider increasing this setting.
native_api.cpu_limit_enabled

Determines if the CPU watchdog is enabled.
TrueBoolean
True/False
If you want Tableau Server to continue to allow a process to run while pegging the CPU; you can disable the CPU watchdog using this setting.
native_api.cpu_limit_max_duration_minutes

The number of minutes that CPU must be over the limit before action is taken by SRM.
60Integer
Positive Integers
Toggling this value will make Tableau Server Resource Manager more or less aggressive in its culling of processes that are past the CPU limit.
native_api.cpu_limit_percentage

The total CPU percentage utilization by Tableau above which SRM may take action.
95Integer
0(?) - 100
Toggling this value will allow for the total CPU percentage allowable for Tableau to utilize to be set.
native_api.cpu_limit_write_mini_dump

Toggles if a mini dump is created when SRM restarts a process due to CPU usage.
TrueBoolean
True/False
 
native_api.initial_delay_seconds

The number of seconds after start up before SRM begins checking CPU and Memory
5Integer
Positive Integers
The purpose for this delay is that during the start up a process can temporarily use more resources than normal and may exceed the limit. This setting allows us to prevent the process from perpetually restarting in that case.
native_api.logging_multiple

The number of CPU/Memory checks between logging.
900Integer
Positive Integers
Note: If the value is set to 0 then Tableau Server Resource Manager logging is disabled.
native_api.memory_limit_all_processes_gb

The total memory limit for Tableau processes in GB
0Integer
Positive Integers
 
native_api.memory_limit_enabled

If True the memory watchdog for SRM is enabled
TrueBoolean
True/False
 
native_api.memory_limit_per_process_gb

The memory limit for any given Tableau process in GB
0Integer
Positive Integers
 
native_api.memory_limit_write_mini_dump

Toggles if a mini dump is created when SRM restarts a process due to memory usage.
FalseBoolean
True/False
 
native_api.recycling_interval_minutes

The number of minutes after which a process should be restarted.
1440Integer
Positive Integer
 
native_api.recycling_thread_enabled

Determines if thread recycling is enabled.
FalseBoolean
True/False
 
native_api.recycling_time_start

The starting time where recycling of processes is enabled.
23:00Time HH:MM
00:00-23:59
Note that the format of the timestamp needs to be quoted with double and then single quotes.
For example "'21:15'".
native_api.recycling_time_end

The stopping time where recycling of processes is enabled
04:00Time HH:MM
00:00-23:59
Note that the format of the timestamp needs to be quoted with double and then single quotes.
For example "'23:45'".
native_api.resource_manager_port

The UDP port on which Tableau performs interprocess communication.
2233Integer
Depends on available ports.
 

Additional Information

The values should be changed by a tabadmin set command, such commands can be performed by the Tableau Server Administrator.

For example, using tabadmin you can set parameters one at a time; setting the memory limit across all processes to 80% would be:
  • tabadmin set  native_api.memory_limit_all_processes_gb 80
  • Run a tabadmin stop, tabadmin configure, tabadmin start to pull the new configuration in.
Did this article resolve the issue?