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

Status Status of theVizQL Server process is visible on the Status Page. For more information, see View Server Process Status
Logging Logs generated by theVizQL Server process are located in C:\ProgramData\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 agressively 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 key Type Default Description
native_api.memory_limit_enabled String true Controls whether memory monitoring takes place. If this is set to false, no memory monitoring occurs.
native_api.close_old_sessions_if_memory_pressure_high String true Determines if old, idle sessions will be closed when memory runs short.
native_api.max_memory_pressure_percentage Integer 90 The 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_percentage Integer 80 The target memory usage percentage that reclamation attempts to reach. Must be less than max_memory_pressure_percentage.
native_api.memory_limit_per_process_gb Integer 0 An absolute per-process memory limit in gigabytes.
native_api.memory_limit_per_process_percentage Integer 70 A 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!