Is there any way to break down the total RAM consumption of QVS.exe to find out which apps/sessions are consuming most memory?
I have been struggling with QVS consuming all available memory within few seconds (256GB) at seemingly random times throughout the day. In the past I have narrowed the issue down to a bad custom object causing memory leak (by painstakingly slow analysis of the session and event logs). We allow users to create custom objects, and with thousands of objects and 80+ concurrent users it is very difficult to investigate memory related issues.
Has anyone been struggling with similar issues, how did you handle it?
2) At the same time enable audit logging and set QVS logs verbosity to high
3) When a new crash happens:
Check your perfmon and try to see if the memory was increasing progressively throughout the day until it reached 100% or if you can observe very short spikes.
If it is progressive, you will probably want to see if you have large applications and how many were loaded into memory at the time of the crash. You might want to consider increasing your current server resources in that scenario.
If you can see spikes, check out your Audit and QVS logs to see what activity is happening at the time of the crash : which applications were opened, which objects, sheets etc. Do the same when a new crash happens until you can observe a pattern (same application opened, same user connected etc).
Hope it helps.
Please don't forget to mark a correct resolution or answer to your problem or question as correct, as it will help other members to find solutions more easily 😉
I agree with Alexis' response, he gave you some good places to start. First step is figuring out the behavior that's causing the memory to be consumed on your server. Allowing users to create custom objects can make things a bit tricky as it allows for a better user experience, but you need to make sure these users don't make any bad custom objects (like you experienced previously), that can absolutely cause memory consumption issues whenever those bad custom objects are called.
Do you have all Qlikview services running on one box or do you have a clustered setup where you have different Qlikview services on different machines? Does this issue happen when there are a large number of QVWs open and a large number of users on the Qlikview environment?
Alexis recommended enabling the audit logs so you can see what users were doing in their sessions right before the memory consumption increased. You'll want to correlate the information in the Qlikview Sever performance logs with your audit logs to try and get a better idea what was going on. With the audit logs you can "follow the trail of bread crumbs" and see if you can cause a memory spike by re-creating user actions within QVWs.
Have you taken a look at your Qlikview Server event logs for any errors? I would recommend increasing the logging verbosity to high until you get this issue resolved. That can be done by going to QMC > System > Setup > QVS > Logging, set the logging verbosity to High with a Daily split.
Hope this helps!
To help users find verified answers, please don't forget to mark a correct resolution or answer to your problem or question as correct.
All great stuff already provided here. The only addition I might have are the telemetry logs. Though they are only available from 12.30 onwards. They've managed to remove some of the blind spots we previously had in terms of individual object resource consumption and could come in handy. I think a link to what they are is in the blog post that Alexis originally linked.
To help users find verified answers, please don't forget to mark a correct resolution or answer to your problem or question as correct. For more Qlik Knowledge content, check out our Support Knowledgebase