This article outlines troubleshooting steps to identify QlikView Server Service problems related to resource issues and crashes. Examples are progressively higher RAM or CPU usage and engine crashes due to exceptions.
It also covers general guidelines on how to troubleshoot QlikView Server Service crashes.
Related material and suggested read: Troubleshooting a QlikView Server Performance and Crashes
- QlikView Server service RAM usage or CPU usage increases progressively until the system crashes
- Users are disconnected while working with documents in the Full Browser / AJAX client or Internet Explorer Plugin
- The AccessPoint displays No Server
In a situation like this, it is first important to understand how QlikView uses its resources. See QlikView Memory Management
for an excellent video summary, or Qlik Engine Memory Management
- Increased memory usage / RAM usage up to the configured Working Set Limit is expected. It should be a gradual, and over time, increase.
- An immediate problem can be identified if there is a sudden spike to the High Working Set Limit or beyond.
- If the QlikView Server Service is hosted in a virtual environment, resources need to be dedicated.
But how do we identify an actual problem
vs an expected
What is using the resources?
First, is the qvs.exe
process consuming the resources? This can be determined either by monitoring the Windows Task Manager\Processes tab directly while the problem occurs or maybe it was previously identified by a resource monitoring tool, such as Windows Performance Monitor.
Memory usage increases gradually over time and stays stable at or around the configured Low Working Set Limit.
This is expected behavior, and to confirm the setting value, QlikView Management Console > System > Setup > QlikView Servers > QVS@SERVER > Performance
Memory usage increases gradually over time, is stable at or around the Low Working Set Limit or at the High Limit. Users are experiencing a negative performance impact.
This may indicate that the current setup needs to be reevaluated and that more resources need to be made available, or an additional QlikView Server node needs to be added to the environment. The below steps may still be applied to find possible problem documents or objects that could be optimized.
Memory usage increases suddenly and leads to performance impact or QlikView Server Service crashes
Identifying the problem and root cause
A specific set of log files will need to be analyzed to find out
- when the resource allocation problem started,
- when it came to its peak,
- and what actions were being carried out against the QlikView Server engine at that time.
Setting up Resource Monitoring (Windows)
Configuring resource monitoring or performance monitoring in Windows to get an overview of the situation is always recommended. See How to set up performance monitoring for QlikView Server Service(QVS) (perfmon)
for a simple example.
Native QlikView log files
- The QlikView Server Service has four log files that are crucial for identifying possible issues.
- Default storage: C:\ProgramData\QlikTech\QlikViewServer
- Configurable in the QlikView Management Console > System > Setup > QlikView Servers > QVS@SERVER > Logging
This includes engine activity. How much we will be able to read depends upon the log verbosity.
- It will log, for example, WorkingSet warnings. See What does "Warning WorkingSet: Virtual Memory is . . . ." mean?
- It can give details on what documents are being loaded, what documents are being uploaded from the Distribution Service, or related actions to document activities.
- It will log exceptions and crashes
- For best results in finding the root cause of resource issues, set the Log Verbosity to High and split Daily.
Includes performance information for the QlikView Server Service only.
No other services or components will be logged.
- Only logs every 5 minutes by default.
- Logs memory statistics in the following rows: V MCommitted(MB) VMAllocated(MB) VMFree(MB) VMLargestFreeBlock(MB)
Logs user actions, such as the opening of documents, opening of sheets, bookmark selections, exports, etc..
C:/ProgramData/QlikTech/Documents/movies database.qvw SendToExcel DOMAIN\Administrator Sheet Object Document\LB04
Records server wide closed sessions. Sessions closed due to QlikView Server Service restarts should also be logged, if sessions are unaccounted for, this needs to be noted too, as it will indicate a service crash.
Starting from QlikView November 2018/version 12.30, you now have the possibility to capture granular usage metrics from the Qlik in-memory engine based on configurable thresholds. This provides the ability to capture CPU and RAM utilization of individual chart objects, CPU and RAM utilization of reload tasks, and more.
This log is by default not enabled so please follow the instruction provided here
to enable it. NOTE: Be very careful when enabling this, as it can generate a lot of logging information very quickly.Some common problems that can be identified through these log files are:What does "Warning WorkingSet: Virtual Memory is . . . ." mean?Unable To Export Large Objects To Excel After Upgrading to November 2017SE_LOG: when AAALR(1072.471418) is greater than 1.000000, we suggest using new row applicator to improve time and mem efficiency.
Review active QlikView documents
Documents active during the day and while the problem is observed, can be individually reviewed for their basic memory footprint.
- An example would be to open the documents individually in the QlikView Desktop client.
- If an object or sheet was already identified by using the log files above, this can be reviewed directly.
- It is also possible to get an overview of calculation times and memory usage of individual objects:
- Open the document in QlikView Desktop and go to Settings - Document Properties...
- Go to the Sheets tab and in the list of objects, review the Calc Time and Memory data for each object.
If a Document or Object was identified:
- Carry out optimization with the assistance of the original developer of the document.
- If a shared object/user object was identified, the object can be deleted in the QlikView Management Console. See
QlikView: Manage User Objects and Shared Objects.
For general optimization of the server:
- Is QlikView deployed on a virtual or physical machine?
- Configure the Server BIOS optimally:
- Are other services hosted on the same machine?
- If the QlikView Server Service shares a host with the QlikView Distribution Service, the Distribution Service could potentially be taking resources from the qvs.exe. A separate machine for QlikView Distribution Service may be necessary.
- Adjust when documents are released from memory:
- The default value is set to 8 hours. Configure this in the QlikView Management Console > System > Setup > QlikView Servers > QVS@servername > Documents > Document Timeout value.
- Configure the QlikView engine to clear cached data:
- Is the Page File on the machine configured correctly?
- A too small page file may result in performance issues, even if the QlikView Server memory management seems to be working as expected. Allow Windows to chose Page File size.
Qlik View server becomes unresponsive - "Fiber loop" errors might appear in the logs