Troubleshooting Workgroup Problems [ Using the HP 3000 Workload Manager ] MPE/iX 5.0 Documentation
Using the HP 3000 Workload Manager
Troubleshooting Workgroup Problems
Each of the following sections lists a potential problem and a list of
possible solutions.
Uncaptured process
Problem: You have created user-defined workgroups but a process does not
fall into the expected workgroup.
Solutions:
system process The process might be a system process, which cannot
be captured by user-defined workgroups. System
processes are always members of one of the
system-defined default workgroups. The SHOWPROC
command displays an asterisk ("*") next to the pin
number of system processes.
artificial member The process might be an artificial member of its
workgroup. An artificial member remains in that
workgroup until the workgroup is deleted, the
process is moved to another workgroup, or the
process is returned to its natural workgroup. The
DETAIL format of the SHOWPROC command places a
percent sign ("%") next to the workgroup name if
the process is an artificial member. Also, a
percent sign ("%") appears before the pin number on
the DETAIL format of the SHOWPROC command or the
PROCS format of SHOWWG command. To return a
process to its natural workgroup, issue the command
ALTPROC pin;WG=Natural_wg.
membership criteria The process might not meet the membership criteria
for the specified workgroup. The DETAIL format of
the SHOWPROC command displays the process
attributes on which membership can be based (logon,
program, queue) and the workgroup of the process.
The DETAIL format of the SHOWWG command displays
the membership criteria of the workgroup. To be a
member, the process must match one value of each of
the specified categories. If the process doesn't
match, it will not be a member. If it does match,
it might be a member of the workgroup, depending on
its position in the ordered list of workgroups.
workgroup order Workgroup membership is determined by scanning the
workgroup membership criteria of all workgroups in
order. The three process attributes on which
membership can be based (logon, program, queue) are
compared to the workgroup membership criteria, and
the process is placed in the first matching
workgroup. Due to this, you place workgroups with
the most specific membership at the beginning of
the list, and place workgroups with more general
membership criteria near the end. The workgroup
with the most general membership criteria are the
five system-defined workgroups, which always appear
last.
To see the current order, which is the order
workgroups appear in the workgroup configuration
file, issue the SHOWWG command . (You can control
this order by introducing a new workgroup
configuration, or by specifying the POSITION
parameter on the NEWWG command line when you create
a new workgroup.)
Starving workgroup
Problem: All processes within a workgroup are not receiving sufficient
CPU time.
Solutions:
low priority The priority range assigned to the workgroup might
be low when compared to the priority ranges of
other workgroups. Use the SHOWWG command to
display the base and limit priorities of the
various workgroups. If the starving workgroup is
at low priority when compared to the other
workgroups, moving it to a higher priority range
would help it get more CPU. Or, you can determine
which workgroup(s) are impacting the affected
workgroup and change them.
minimum(s) too low Minimum CPU values provide a guarantee that the
workgroup will receive the specified amount of CPU,
if the workgroup requires it. There are two
situations in which CPU minimums can starve a
workgroup:
* A minimum CPU value has been assigned to the
starving workgroup that is not sufficient to
meet the demand of processes within that
workgroup. In this situation, raise the CPU
minimum for that workgroup, making sure that
the cumulative minimums for all workgroups
is less than 100%.
* The other workgroups have been assigned (and
use) CPU minimum values that do not leave
sufficient CPU for the starving workgroup.
In this case, lower the CPU minimums of one
or more workgroups to allow sufficient CPU
for the starving workgroup.
maximum too low The workgroup may also be starving because it has
been assigned a maximum amount of CPU that is
insufficient. For example, the workgroup may be
assigned a maximum CPU value of 20% and be using
that 20%, but requires 30% for adequate response
time. Alternatively, other workgroups that should
be constrained by their maximums might have those
values set too high. A workgroup with a maximum of
80% would be allowed to consume 80% of the system,
provided it did not violate any minimum guarantees
for other workgroups.
Starving process
Problem: A workgroup might be receiving its share of the CPU, but a
process within that workgroup is not getting sufficient CPU time.
Solutions:
check priority The MPE/iX Dispatcher remains priority-driven,
allocating the CPU to the processes within the
workgroup based on their priority. Use the PROCS
format of the SHOWWG command to display the
priorities of member processes of the workgroup(s)
you specify. If the process is of lower priority
than other member processes, it will only receive
the CPU that the other processes do not require.
change workgroup The process might belong in a workgroup with higher
priority values. For example, a batch job might be
particularly important and deserve to run at higher
priority than most batch jobs. Use the ALTPROC
command to move the process to another workgroup.
Note: In the interests of being proactive, you
might want to define a workgroup with membership
criteria that would naturally capture that process,
placing it at an appropriate priority.
enable oscillation The process may be in the proper workgroup, but is
having trouble competing with other processes in
the workgroup since its transaction time is greater
than the average. Recall that the priority of a
process will decay based on its CPU consumption.
The process may have decayed to the limit of the
queue and is unable to compete for the CPU with
other processes of higher priority in that
workgroup. Use the ALTWG command to enable
oscillation, which will boost the priority of any
process that decays to the limit of the workgroup.
adjust quantum If the process is at lower priority than other
bounds processes in the workgroup, but hasn't decayed to
the limit priority (so that oscillation will take
place), the rate of priority decay can be changed.
Use the ALTWG command to change the quantum bounds
to reduce the quantum. A smaller quantum ensures
faster priority decay so that processes decay to
the limit more quickly and can be oscillated.
CPU minimum not met
Problem: The observed CPU allocation to a workgroup is less than the
minimum CPU percentage.
Solutions:
insufficient demand If the processes within the workgroup do not
require the amount of CPU they have been
guaranteed, then the observed CPU allocation will
be lower than the set value. If the processes can
consume only 20% of the CPU, but have been given a
minimum of 30%, they will not be able to consume
the minimum amount.
too few processes If you are using a system with multiple processors
and there are a small number of processes running,
the CPU demand may not reach the minimum assigned
to the workgroup. For example, suppose your system
has four CPUs and you have assigned a 40% minimum
CPU percentage to a workgroup. If there is only
one process running in that workgroup, the
workgroup can consume a maximum of 25% of the total
CPU capacity of the system, or one processor.
System or process hang
Problem: You have set the maximum CPU percentage of a workgroup to zero
and it has starved. Or, a workgroup that captures processes running
CI.PUB.SYS has no CPU access (either by setting the CPU maximum to zero
or by placing them at low priority on a busy system). Or, the CPU
minimum percentage guarantees do not allow sufficient CPU for processes
in the default workgroups.
Solutions:
if you can enter Adjust the scheduling characteristics of the
commands problem workgroups or delete the entire workgroup
configuration. If you are able to identify the
problem workgroup(s) (e.g., a workgroup with a
maximum CPU % of zero), use the ALTWG command to
alter the scheduling characteristics. If you are
uncertain of the problem workgroup(s) and wish to
remove all user-defined workgroups, leaving only
the five system-defined default workgroups, issue
the command PURGEWG @.
if you can't enter Reboot the system and at the ISL prompt, enter the
commands command START SINGLE-USER. This initiates
single-user mode, in which only the five default
workgroups are available; all user-defined
workgroups are purged. Next, use the NEWWG command
to invoke a more appropriate workgroup
configuration (or you can choose to stay with just
the five default workgroups). Finally, enter the
command START or START MULTI-USER to bring the
system up multi-user.
MPE/iX 5.0 Documentation