3 Replies Latest reply on Mar 3, 2016 8:45 PM by Justin Mangue

    Tabmon CPU % anomolies

    Eric Axelrod

      We have been successfully using TabMon against Tableau Server 9.0.3 and 9.1.3 for about a month.  Most recorded perfmon metrics seem reasonable and are in-line with the performance monitor installed on the VM.


      Except (sometimes) for CPU utilization.


      Yesterday, for example, TabMon recorded "17,312.88" for "%_processor_time" in a single measurement for Tabprotosrv.  This isn't an aggregation done by Tableau -- it's in the raw data.  See the 3rd row in the attached screenshot.


      As you can see, most of the other recordings were reasonable.


      Now, from Russell Christopher's great overview TabMon on YouTube: A Tour of the TabMon Sample Workbook, he indicated that the Windows perfmon measures process-level CPU on a per core basis.  Meaning that if you have 8 cores on a machine then CPU utilization could be as high as 800%.


      The thing is, this Tableau Server only has 12 CPU cores.  So I would expect no higher than 1200% CPU utilization for any one process.


      Does anyone know how we get from a 1200% to 17,000%?



      Eric Axelrod

      President & Chief Architect


        • 1. Re: Tabmon CPU % anomolies
          Mohmed Shaik

          Hi Eric,


          What is the minute interval that u have. I am seeing changing the minute interval is giving different spike graphs. I am not sure of how am suppose to understand this yet. Am bit confuse if changing from 5 minutes interval to 2 minutes, or 30 minutes , if tableau aggregating the the data and giving the spike's results.


          We have 8 core, and only one time i saw 802% spike as max.

          In ur post when you say- "See the 3rd row in the attached screenshot", may i know where ur referring to ?. I am just curious.


          I have a question. I am seeing in ur screenshot that the Timestamp offset is 0. Shouldn't that be changed to match ur time zone to offset the GMT time ?.



          • 2. Re: Tabmon CPU % anomolies
            Eric Axelrod



            The 3rd row in the screenshot shows a "%_processor_time" value of "17312.88".  %_processor_time is a column in the TabMon Postgres database, and what you see in the screenshot isn't being aggregated or otherwise calculated by the Tableau TabMon workbook.


            Here's a screenshot of the same value by querying the countersamples table from pgAdmin.  See row #2.




            Eric Axelrod

            President & Chief Architect


            • 3. Re: Tabmon CPU % anomolies
              Justin Mangue

              Hi Eric,


              TabMon just writes out the raw values it gets from PerfMon without modifying them in any way -- no secret sauce there.  The results you are seeing are due to the "% Processor Time" counter in Perfmon being notoriously weird and counterintuitive.  Not only is this the value of this counter amplified by the number of logical processors as you noted, but extensive multithreading within a process amplifies it as well -- this is why you are seeing values get so ridiculously high.  Because this counter is hardware context-dependent, it should be used as a relative benchmark only against the host system itself.


              For more info on how this counter works, check out this article on TechNet.. the grammar is a little rough but the message is solid:


              Understanding Processor (% Processor Time) and Process (%Processor Time) - TechNet Articles - United States (English) - …

              2 of 2 people found this helpful