Unconfigured Ad Widget

Collapse

Announcement

Collapse
No announcement yet.

Performance / "Thrashing"

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

  • Performance / "Thrashing"

    Doug Englander wrote: > Our system is very slow and has consistently high and steady CPU > usage throughout the day. I suspect there is too much batch running > at once. Attached is what our WRKSYSSTS screen shows. Can anyone tell > me in a nutshell what the problem might be, and what a quick solution > might be? Doug, I'm not a peformance expert by any means, and making suggestions without knowing the system's job makeup is borderline irresponsible, but a couple of things come to mind: 1) Are you letting the system tune itself? The system value QPfrAdj value controls this. 2) It looks like you have at least 3 pools (7,8 and 9) that are lightly used yet have a lot of memory assigned to them. If you prefer to manually adjust the memory assignments, or these pools are set to not be adjusted, I'd consider modifying their memory assigned. There are so many factors involved in how a system performs that you are asking for too much to have us look at that screen. The only quick advisement, not solution, that I could give would be to let the system tune it's performance by setting QPfrADJ appropriately. Bill

  • #2
    Performance / "Thrashing"

    Hello I see that you have a high number of jobs in your system. - Perhaps there are old spool to delete, ask your users to do that - run the DSPJOBCTL command. It give you the values for the permanent and temporary job structures (initial and additionnal). If they are too small, the OS/400 have to allocate too many time ressources and memory to create them when the jobs number reach the maximum. There are 4 systems values to adjust (you can now them by put the cursor on the values and press F1). The "work management" book of IBM give you the way to now the value to give them. - and do what Bill said you. Regards

    Comment


    • #3
      Performance / "Thrashing"

      What are your settings for the Paging Options?

      Comment


      • #4
        Performance / "Thrashing"

        Where would I find that information?

        Comment


        • #5
          Performance / "Thrashing"

          What are your settings for the Paging Options?

          Comment


          • #6
            Performance / "Thrashing"

            WRKSYSSTS and press F11. The Paging Options should either be *fixed or[*]calc.

            Comment


            • #7
              Performance / "Thrashing"

              Comment


              • #8
                Performance / "Thrashing"

                There are eleven pools listed. There are three at *CALC, and eight at *FIXED.

                Comment


                • #9
                  Performance / "Thrashing"

                  Which are at *CALC?

                  Comment


                  • #10
                    Performance / "Thrashing"

                    Pools 2, 3, and 9 are set to *CALC.

                    Comment


                    • #11
                      Performance / "Thrashing"

                      I don't know how your system is set up but I would think 2, 3 and 4 are *BASE,*SPOOL and *INTERACT. Others may be SHARED POOLS. Pools 2, 3, 4 and shared pools can be set to *CALC. You may want to let the system calculate the pool sizes. They can be changed on the fly so if performance was slower, you can change them back. I would also determine what jobs are taking the CPU. A good way is to WRKACTJOB, F10 a couple of times to get your statistics to 0, place your curser over CPU% and press F16. This will sort by highest to lowest so you can see what job/s are using the most CPU. Take a look at the class these jobs are running under. This will provide you with timeslice and priority detail. Are these batch jobs long running jobs? If so, could they be scheduled to run during non-peak times? Looking at your Permanent and Temporary Addresses, it appears you may have IPL'd in the last month or so. If not, there are some system PTF cleanup tasks you may want to do and then schedule an IPL. Your ASP is reaching 80% which could also be a cause for performance issues. If you want, you can email me at kkuras@dart.biz and I'll send you some information on getting the storage down.

                      Comment


                      • #12
                        Performance / "Thrashing"

                        Can we see the results of the WRKSBS command? This will tell us which subsystems are associated with which memory pools. Pools 2 and 3 show very high non-DB paging, which is typically a more serious indicator of thrashing than DB paging. Pool 6 shows moderately bad non-DB paging as well. Also, you have a relatively high amount of unprotected storage, which is temporary storage used for things like paging. Usually I don't see the numbers go that high unless I am running WebSphere (the JVM tends to use a lot of temporary storage). Finally, you've got a potential issue with nearly 20,000 active jobs running in just 12GB. Unless the majority of those are jobs in *OUTQ status (meaning they've completed but till have spooled files), then the machine has a whole lot of housekeeping to do. You can do a WRKACTJOB OUTPUT(*PRINT) SEQ(*STS) to get a printed listing of your jobs in status sequence. You can then quickly browse the spooled file to see how many pages are for jobs in OUTQ status; the listing prints about 50 jobs per page. Joe

                        Comment


                        • #13
                          Performance / "Thrashing"

                          Joe, I did the WRKUSRJOB command, and told it to list only *OUTQ jobs. There were 252 pages of them, so that equates to about 12,600 jobs. Is having that number of jobs in *OUTQ status detrimental at all in terms of performance, or are they just consuming disk space? Also, do you know any resource that explains, in basic laymans terms, the relationship between subsystem work, storage pools sizes, system versus shared pools, and performance? That would be helpful to me. Thanks, Doug.

                          Comment


                          • #14
                            Performance / "Thrashing"

                            Sorry, I don't know of any specific resource, Doug, I've just been doing this for a while and the same basic concepts of paging and such have been pretty similar since the S/38 days. The 12,000 jobs on *OUTQ are not necessarily a hindrance, although they do take up a little bit of resources in the system job table. I honestly don't know if they're really a problem. However, simple math tells me that you still have some 7000 active jobs in your machine, and that's a LOT of active jobs! What are those jobs, and what are they doing??? Joe

                            Comment


                            • #15
                              Performance / "Thrashing"

                              Joe, I don't know what all of the jobs are doing at this point. I am still researching. I do have a question though. Is this assumption / understanding correct: Memory pools are a way to divide up all of the memory in the machine and allocate that memory to one or more subsystems. If one subsystem only is allowed to use a memory pool, the pool is private. If more than one subsystem shares a memory pool, then the pool is shared. The pool sizes and activity levels are determined based on the amount of work they need to due, which is related to the jobs that run in the various subsystems on the machine. Auxilary Storage Pools are basically the same concept, but apply to disk file storage allocation. ASPs allow me to use the whole disk storage as one logical unit, or gives me the ability to tell the system what physical disk unit(s) comprise a logical disk unit. The allocation of specific objects to specific ASPs is made at the library level (I think). Let me know if I am on the right track. Thanks! Doug.

                              Comment

                              Working...
                              X