CPU % reaches almost 100% during package build on AS400

Joel

Well Known Member
Hi List,
When building packages on AS400 our CPU Utilisation reaches almost 100%. The server package consumes a consistent 70 to 80% of CPU utilisation. This is causing a lot of problems to our users.
Qusetion:- 1) How do i control this so that my package build activities do not take so much memory
2) When building Dll's how do i change the queue where these bsfn's are complied. By default they run in QBatch SBS and Queue
 
I got the answer to my second question .. in the jde.ini of the ES, under the BSFN Build section we need to add an entry QNAME=(name)
 
More than likely, the package build taking up 100% of CPU is due to the number of compile queues in the Subsystem.

First of all, the JDE.INI setting :

SimultaneousBuilds=0

When set to "0" - this means it will launch as many compiles as queues. You can reduce the number of jobs to n-1 where n=# processors.

To control the actual queue itself, use the following command :

DSPSBSD QBATCH, select option 6 ”Display Job Queue Entries” :
<font class="small">Code:</font><hr /><pre>
Subsystem description: QBATCH
Seq Job Max
Nbr Queue Library Active
10 QBATCH QGPL 12
32 MRP B7334SYS 20
36 OWPACKAGE B7334SYS 10
</pre><hr />
Here you can see that OWPACKAGE is set to 10. To reduce this, you need to use the CHGJOBQE command as follows :

CHGJOBQE SBSD(QBATCH) JOBQ(OWPACKAGE) MAXACT(20) will increase OWPACKAGE to 20 parallel queues.

Obviously, there is a maximum ! In standard Xe, there are 32 DLL's that are being compiled - so unless you have custom libraries, then you wouldn't need to go over that. However, to keep your system "manageable" the recommendation is to create as many queues as n-1 processors or thereabouts.

Personally, I want my package builds finishing as quick as possible, so I actually have more queues than processors, and I launch the package build when the system is quiet.

Hope that helps.
 
Hi thanks for that suggestion. I have increased the number of maximum jobs in our build queue to 5. Peoplesoft recommends that simultaneous busbuild must be set to 0 on As400 systems.

Would appreciate if you could explain the concept of "Processors" . How do we finnd how many procesors are running.
 
Hi Joel,

Your CPU utlization will reach 100% during building of buisness function on server.
You can check the number of .dll running in QBATCH when your Server Package Starts Build.

Setting Simulataneous Build =5 will make maximum 5 Buisness Function will be Processing at a time. Rest all will be in Wait state.

Processors act a a load distributor. If you have multiple processor than CPU will divide the load on both the processor.OS wil take care of that.
(I dont know much on OS ...)

If you have single processor than all the loads will be on that only.

Usually for each processor of AS400, you can have 6 jobs running simulatenously.

For my setup, i have 2 processor on AS400 and No of Simulatenous Build is set to 7. MAximum I can set for two processor upto 11.
 
Processors are the number of chips that process main tasks on the AS/400. Depending on the model of your machine, you will have a specific number of chips. All computers use processors.

In recent years, IBM has downsized the AS/400 by claiming that the faster single processors provide the same performance as multiple processor machines in the past. This is correct information to a point - and is why AMD And Intel now provide dual-core processor technologies. You need multiple processors to prevent an issue if a single processor is highly utilized.

The best way to find out how many processors you have is to look at the equipment list :

From the main AS/400 QSECOFR menu (MAIN)
Option 7 - Define or Change the System
Option 5 - System Resources
Option 1 - Hardware Resources
Option 4 - Work with Processor Resources

You should see a list like the following :

<font class="small">Code:</font><hr /><pre>
Work with Processor Resources
System: AS400SVR01
Type options, press Enter.
7=Display resource detail

Opt Resource Type-model Status Text
CEC01 9406-820 Operational Main Card Enclosure
PN01 247F Operational System Control Panel
MP01 25BE-000 Operational System Processor Card
MP02 25BE-000 Operational System Processor Card
MP03 25BE-000 Operational System Processor Card
MP04 25BE-000 Operational System Processor Card
PV02 2438-001 Operational Processor Capacity Card
PV01 1521-001 Operational Interactive Card
SP01 282D Operational Service Processor Card
BCC01 Operational Bus Adapter
BCC02 Operational Bus Adapter
BCC03 Operational Bus Adapter
BCC04 Operational Bus Adapter
BCC06 Operational Bus Adapter
MS01 3007-000 Operational 1024MB Main Storage Car
More...
F3=Exit F5=Refresh F6=Print F12=Cancel
</pre><hr />

As you can plainly see, we have 4 processors active. The system is an AS/400 system 825 and there are 2 inactive processors available if needed.
 
Jon, our i550 has four cpus but only two are supposed to be enabled, with another two that can be enabled by a licencing upgrade. However WRKHDWRSC TYPE(*PRC) shows all 4. How can you report which are enabled?

What is a PV01 Processor Capacity Card?

Cheers,
JohnO
 
The last time I tried setting the simultaneous builds on the iSeries platform to anything other than 0 it only submitted that number of compile programs into the QBUILD queue, so when it was set to 5, only the first 5 programs worked. This was about 5 years ago so it may have changed since.

I control it via the number of active jobs available in the queue, the only realy way to find out is to experiment with different values to give you the best balance of processor utilisation vs time for the package to build. On my current site its 5, but we only run full builds out of hours.
 
Back
Top