7 Replies Latest reply: Apr 24, 2015 2:29 PM by ronny stillman RSS

    QMC Configuration

    Fernando Keuroglian

      Hi experts:


      I haved a question, i have a document (big document) that every week i have to restart the services, because the memory of the server, increase a lot and i have to restar the service to liberate the memory ram.


      what change on the server could do?


      i attached image of the server configuration, thank you a lot



        • Re: QMC Configuration
          Marcus Sommer

          From a theoretical point of view this (RAM increasing over time although session and document timeouts are set) shouldn't happen because the server could manage the RAM and will clear the RAM automatically respectively tagged it as rewritable. But it don't work under all circumstances. So I think you will need to restart the services (more or less) regulary maybe automated per batch.


          - Marcus

            • Re: QMC Configuration
              Bill Markham

              QlikView by design does massive in memory [RAM] caching which is good as it caches query results for re-use.  RAM usage will therefore steadily increase until it reaches the Working Set High, which your screen shot shows at a sensible value of 90%.  At that point it will start discarding cached queries with a last recently used algorithm.  Restarting the QlikView Service will clear all these cached queries so that then QlikView will have to commence re-caching them which will reduce End User performance.


              So my observation would be that your RAM usage behaviour is as per QlikView design and restarts would only have a negative affect.


              Having said that QlikView is an In Memory Analysis Tool and needs a server with sufficient RAM.


              When you say you wish to "liberate the memory ram", why do you wish to do this and what do you hope to achieve by doing it ?

                • Re: QMC Configuration
                  Marcus Sommer

                  If you have a machine with enough RAM only for the qlikview-server it may work. If not you will run more or less frequently into services- and/or server-crashes. In my case RAM is extremely scarce and crashes are often so I check each six hours per batch if users are online and if not I restart the services. And I assume that I'm not the only one with these circumstances.


                  - Marcus

                    • Re: QMC Configuration
                      Fernando Keuroglian

                      Thank you Marcus, do you have any process to check user online, and then restart the service?

                        • Re: QMC Configuration
                          Marcus Sommer

                          I use the following logic:




                          let vPath = 'D:\QlikViewServer\ProgramData\QlikViewServer\Performance_OBKQLIKTECH_' &

                                             year(Today()) & num(Week(today()), '00') & '.log';



                          LOAD max(Timestamp) as Timestamp, ActiveDocSessions, Users

                          FROM $(vPath) (txt, utf8, embedded labels, delimiter is '\t')

                          Group By ActiveDocSessions, Users;



                          Load *, rowno() as DS Resident PerformanceLogQV order by Timestamp desc;


                          drop table PerformanceLogQV;


                          let vActiveDocSessions = peek('Users', 0, 'ActiveDocSessions');



                          load $(vActiveDocSessions) /*as ActiveDocSessions*/ AutoGenerate 1;

                          store StoreVariable into D:\CheckActiveDocSessions.txt (txt);


                          drop table StoreVariable;




                          set /p ActiveDocSession=<D:\CheckActiveDocSessions.txt

                          set ActiveDocSession=%ActiveDocSession:~3,3%


                          set /a checkvalue=0


                          if %ActiveDocSession%==%checkvalue% (

                              net stop qlikviewserver

                              timeout /T 5

                              net start qlikviewserver


                              net stop qlikviewwebserver

                              timeout /T 5

                              net start qlikviewwebserver


                              net stop QlikviewManagementService

                              timeout /T 5

                              net start QlikviewManagementService


                              net stop QlikViewDistributionService

                              timeout /T 5

                              net start QlikViewDistributionService


                              net stop QlikviewDirectoryServiceConnector

                              timeout /T 5

                              net start QlikviewDirectoryServiceConnector


                          ) else (

                          REM echo "Aktive User ..."



                          This is triggered per windows-task which runs a batch which executed these qvw and cmd. I think there are more elegant ways possible as to query the log-file, maybe per Management-API but for me it worked.


                          - Marcus

                  • Re: QMC Configuration
                    Bill Britt



                    To really give you an answer you are not giving us much information. I see the server is a low end box, being it has only one processor. I am assuming that it doesn't have a lot of memory in it either. Can you give more information on the setup of your system?



                    • Re: QMC Configuration
                      ronny stillman



                      Add more cores and RAM.