ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Understanding CPU Utilization

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Understanding CPU Utilization

    Hi guys,

    I'm having a hard time of gaining a feeling for what is a high CPU Utilization, when I should consider it high, or be worried that jobs are hogging CPU resources?

    From what I understand currently, CPU% Utilization is just the percentage of time the processing unit was busy during the elapsed time. (How much elapsed time is a 'good' amount of time to judge CPU% on?). CPU Utilization depends on a lot of factors: Is your partition uncapped? Are you sharing processors? If so your CPU % can be greater than 100.

    Using QSYS2.SYSTEM_STATUS_INFO SQL view I have found that my Configured_CPU's on my partition is 4, this partition is uncapped. Does that mean the "max" CPU % Utilization could be (4x100) 400%? I feel like the answer is yes, but I'm skeptical that it's true? Can somebody smack some sense into me on this? Another thing I frequently find is that our AVERAGE_CPU_RATE is around 80%, I believe this suggests to me that our CPU is typically throttled and operating under a low load and has the ability to handle a lot higher load, despite the frequent >100% CPU % that I see.


    Thanks

    SYSTEM_STATUS_INFO view

  • #2
    Yes, indeed. CPU utilization can be above 100% when in Uncapped mode and the number of Virtual Processors allocated is higher than the Entitled Processors. CPU Rate is about the clock frequency (the GHz feature) so it is a separate measurement. It is harmless to use lots of CPU (even at maximum), as long as high priority jobs (e.g. interactive sessions) get the CPU they need. Anyway, most jobs have disk I/O operations to perform, so there is no way a job can utilize 100% of a CPU and lock out other jobs. Even a job executing pure number crunching codes (e.g. looping) won't get 100% CPU.

    Comment


    • #3
      Originally posted by Dennis See View Post
      Yes, indeed. CPU utilization can be above 100% when in Uncapped mode and the number of Virtual Processors allocated is higher than the Entitled Processors. CPU Rate is about the clock frequency (the GHz feature) so it is a separate measurement. It is harmless to use lots of CPU (even at maximum), as long as high priority jobs (e.g. interactive sessions) get the CPU they need. Anyway, most jobs have disk I/O operations to perform, so there is no way a job can utilize 100% of a CPU and lock out other jobs. Even a job executing pure number crunching codes (e.g. looping) won't get 100% CPU.
      Is there a theoretical max CPU Utilization? Is it something I should even be concerned about? I guess what I'm trying to get at here is; if there is a way to tell if the system is running slow?

      How could I tell if there was a single job that was hogging resources / or slowing the system down? My gut here is that it would have a high >1-2% CPU utilization on that single job.

      Comment


      • #4
        Yes, the maximum utilization is 100% of your Virtual Processor allocation in Uncapped mode. For example, if Entitled CPU= 1, and VP = 2, the maximum is 200%. You can get excellent performance graphs from Navigator. Check it out at https://www.ibm.com/docs/en/i/7.4?to...a-investigator . You can also do your own analysis from the database tables in the performance library QPFRDATA (default name). Slowness analysis can usually be done only from comparison of data. Otherwise, it is difficult to define what is slow or fast. For batch jobs for example, you can collect daily runtime duration, how much actual CPU was used and how much I/O was needed. This is best done from job accounting journal data (need to configure it to collect data).

        Comment


        • #5
          Dennis See Thanks for your knowledge on this. Should I consider an Entitled CPU the same as a Physical Processor? Or is it something different

          Comment

          Working...
          X