Tableau Server VizQL Server

The VizQL Server loads and renders views, and computes and executes queries. To achieve high availability for the VizQL Server process, configure one or more instances to run on multiple nodes.

Process

VizQL Server

StatusStatus of theVizQL Server process is visible on the Status Page. For more information, see View Server Process Status
LoggingLogs generated by theVizQL Server process are located in /var/opt/tableau/tableau_server/data/tabsvc/logs/vizqlserver. For more information, see Tableau Server Logs and Log File Locations

What happens if a VizQL Server process fails? If there is only one VizQL Server process and it fails, then Tableau Server will no longer be able to render any views. High availability requires configuring redundant VizQL processes. A fairly typical configuration consists of two to four VizQL Server processes on each node.

This simultaneously serves the need for high availability and scalability. If multiple VizQL Server processes are running then the failure of a single process will result in the failure of any requests and the loss of session data at the time of its failure. Any future requests will be routed to the other working VizQL Server processes on the Tableau Server cluster.

VizQL Server memory monitoring

Important: As a best practice, we recommend you leave settings at their default values unless instructed by Tableau Technical Support.

Beginning in version 2026.2.0, VizQL Server monitors its memory usage and will shut down idle sessions if necessary.

How VizQL Server monitors memory usage

In Tableau Server version 2026.2.0 and later, the native_api.close_old_sessions_if_memory_pressure_high key is set to true. With this setting enabled, VizQL Server monitors its memory usage each time a new session is created, and if memory usage exceeds the threshold defined by native_api.max_memory_pressure_percentage, the oldest idle sessions are closed to reduce memory usage. The higher the memory usage, the more aggressively old idle sessions are closed. Sessions that are actively in use with the user interacting with a view are never closed. Memory reclamation is done in the background and does not slow or block new session creation.

VizQL memory usage monitoring depends on several interacting configuration keys:

Configuration keyTypeDefaultDescription
native_api.memory_limit_enabledStringtrueControls whether memory monitoring takes place. If this is set to false, no memory monitoring occurs.
native_api.close_old_sessions_if_memory_pressure_highStringtrueDetermines whether old, idle sessions will be closed when memory runs short.
native_api.max_memory_pressure_percentageInteger90The memory usage percentage at which proactive session reclamation begins. (The comparison base is the process memory limit, which is controlled by native_api.memory_limit_per_process_gb or native_api.memory_limit_per_process_percentage).
native_api.goal_memory_pressure_percentageInteger80The target memory usage percentage that reclamation attempts to reach. Must be less than max_memory_pressure_percentage.
native_api.memory_limit_per_process_gbInteger0An absolute per-process memory limit in gigabytes.
native_api.memory_limit_per_process_percentageInteger70A percentage of total physical memory to calculate the process memory limit. Used only when native_api.memory_limit_per_process_gb == 0.
    
Thanks for your feedback!Your feedback has been successfully submitted. Thank you!