---
schema_version: "1"
id: e39d71d5c2a88b598def1d23db358b42e8c4e1b583a67a523e98fea4812c0418
title: Tableau Server VizQL Server
collection: tableau
version: next
locale: en-us
portal_url: https://docs.salesforce.com/tableau/next/en-us/server-linux/server_process_vizql-server.md
canonical_url: https://help.tableau.com/v0.0/server-linux/en-us/server_process_vizql-server.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 4f1795c4be39a3bb8c3971bd26fbae16356e536597e9daad82ca028c10b7d9b1
description: The VizQL Server loads and renders views, and computes and executes queries
---
[Skip to main content](#main-content)

# 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.

<table style="width: 100%;mc-table-style: url('Resources/TableStyles/Basic-Border.css');" class="TableStyle-Basic-Border" cellspacing="0">
                    <colgroup><col class="TableStyle-Basic-Border-Column-Column1">
                    
                    <col class="TableStyle-Basic-Border-Column-Column1">
                    
                    </colgroup><tbody>
                        <tr class="TableStyle-Basic-Border-Body-Body1">
                            <td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><strong>Process</strong>
                            </td>
                            <td class="TableStyle-Basic-Border-BodyD-Column1-Body1">
                                <p>
                                    VizQL Server
                                </p>
                            </td>
                        </tr>
                        <tr class="TableStyle-Basic-Border-Body-Body1">
                            <td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><strong>Status</strong>
                            </td>
                            <td class="TableStyle-Basic-Border-BodyD-Column1-Body1">Status of theVizQL Server process is visible on the Status Page. For more information, see <a href="https://help.tableau.com/v0.0/server-linux/en-us/service_viewstatus.htm" class="xref">View Server Process Status</a></td>
                        </tr>
                        <tr class="TableStyle-Basic-Border-Body-Body1">
                            <td class="TableStyle-Basic-Border-BodyB-Column1-Body1"><strong>Logging</strong>
                            </td>
                            <td class="TableStyle-Basic-Border-BodyA-Column1-Body1">Logs generated by theVizQL Server process are located in <code><code>/var/opt/tableau/tableau_server/data/tabsvc/logs/</code>vizqlserver</code>. For more information, see <a href="https://help.tableau.com/v0.0/server-linux/en-us/logs_loc.htm" class="xref">Tableau Server Logs and Log File Locations</a></td>
                        </tr>
                    </tbody>
                </table>

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](https://help.tableau.com/v0.0/server-linux/en-us/cli_configuration-set_tsm.htm#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. |
|   |   |   |   |