Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
jonip_78
Partner - Contributor III
Partner - Contributor III

CPU usage

Hi,

No matter how many cores we add to Qlik Sense Enterprise the CPU usage still spikes on 100% quite often on heavy app reloads.

I guess it will do reloads as fast as possible so if we add more cores reload time is less but CPU usage wont drop. What would be the best way to set this in QMC so that the reload tasks wouldn't eat all the resources? I'm getting constant notifications about these spikes from our IT admin.

Labels (1)
2 Solutions

Accepted Solutions
jonip_78
Partner - Contributor III
Partner - Contributor III
Author

This was just what I was looking.

Solved: QlikSense CPU usage hits 100% while loading data f... - Qlik Community - 1919096

Naturally Qlik uses RAM during reload, as much RAM as it needs to hold the data being reloaded.
Qlik also uses CPU when reloading, as much CPU as it can get access to and utilize in order to complete the reload in as short period of time as possible.
RAM is working storage, CPU is the working power, Qlik needs both.
I'm not sure how you best would limit the CPU load during reload in order to release more CPU for the end-users.
Usual procedure is to have two servers, one back-end doing the reloads and one front-end serving the end-users. That way the reloads are separated from the end-users.
You can limit the CPU usage of the Engine by using throttling but that would affect the users also.
Throttling is to allow other processes than Qlik on the server that would otherwise be starved when Qlik uses all CPU.

View solution in original post

Albert_Candelario

Excellent!

Also notice the setting I did suggested was solely for the engine process, so the rets of the services could still be using CPU resources as well as the OS system.

Hence limiting the engine to 90% still leave room for other services or the OS to consume the other 10% and reaching situations were your IT will be sending you such alerts.

Having a multi node with dedicated instance for different purposes, would be ideal. Reload nodes, consumer nodes and so on.

Cheers,

Albert

 

 

Please, remember to mark the thread as solved once getting the correct answer

View solution in original post

7 Replies
Ray_Strother
Support
Support

Hello ,

The article links below should help your team understand the Qlik Sense resource utilization.

1. QlikView and Qlik Sense resource usage and the Qlik Associative Engine Memory Management and CPU Utilization

https://community.qlik.com/t5/Official-Support-Articles/QlikView-and-Qlik-Sense-resource-usage-and-t...


2. QIX Engine Memory Management and CPU Utilization

https://community.qlik.com/t5/Official-Support-Articles/QIX-Engine-Memory-Management-and-CPU-Utiliza...
Albert_Candelario

Hello @jonip_78,

You can also explore the setting CPU throttle (%) and see if would make sense to limit the CPU used by the Engine service.

Editing an engine | Qlik Sense for administrators Help

Cheers,

Albert

Please, remember to mark the thread as solved once getting the correct answer
jonip_78
Partner - Contributor III
Partner - Contributor III
Author

Thank you.

jonip_78
Partner - Contributor III
Partner - Contributor III
Author

I tried that yesterday. Changed it to 90% and restarted QS services. However it seemed to have no effect. There was one intensive reload and CPU usage spiked at 100% couple of times.

Also I didn't quite understand the description of this setting. If I limit it to 90% would that mean that 10% is always unused in QS? I would like to limit the reloads to 90% and leave the rest for hub and users.

jonip_78
Partner - Contributor III
Partner - Contributor III
Author

From the PDF.

https://community.qlik.com/t5/Official-Support-Articles/QIX-Engine-Memory-Management-and-CPU-Utiliza...

Summary
The following is important to consider when it comes to how the Qlik Associative Engine uses the
CPU:
• Peaks with 100% CPU usage are good as they indicate that the Qlik Associative Engine uses
all available capacity to deliver the responses as fast as possible.
• High average CPU usage (>70%) is bad as it means that the system saturates and incoming
selections in documents are queued prior to being served.
• The Qlik Associative Engine processing capacity can be increased by adding more cores or by
increasing the clock frequency. More processing capacity makes the engine handle load
peaks in a robust manner.

If there's a large app and when the reload task runs there are these 100% spikes. I'm just wondering if above only applies for selections and such or does it apply to QMC reloads also?

jonip_78
Partner - Contributor III
Partner - Contributor III
Author

This was just what I was looking.

Solved: QlikSense CPU usage hits 100% while loading data f... - Qlik Community - 1919096

Naturally Qlik uses RAM during reload, as much RAM as it needs to hold the data being reloaded.
Qlik also uses CPU when reloading, as much CPU as it can get access to and utilize in order to complete the reload in as short period of time as possible.
RAM is working storage, CPU is the working power, Qlik needs both.
I'm not sure how you best would limit the CPU load during reload in order to release more CPU for the end-users.
Usual procedure is to have two servers, one back-end doing the reloads and one front-end serving the end-users. That way the reloads are separated from the end-users.
You can limit the CPU usage of the Engine by using throttling but that would affect the users also.
Throttling is to allow other processes than Qlik on the server that would otherwise be starved when Qlik uses all CPU.

Albert_Candelario

Excellent!

Also notice the setting I did suggested was solely for the engine process, so the rets of the services could still be using CPU resources as well as the OS system.

Hence limiting the engine to 90% still leave room for other services or the OS to consume the other 10% and reaching situations were your IT will be sending you such alerts.

Having a multi node with dedicated instance for different purposes, would be ideal. Reload nodes, consumer nodes and so on.

Cheers,

Albert

 

 

Please, remember to mark the thread as solved once getting the correct answer