A Multiprocessor CPU Performance Monitor will be shipped with this product.
This tool will display CPU utilization for each processor in bar graph and
histogram modes. It will be written as a PM application and will display
each processor's bar or line as a different color. This tool will also have
the capability of placing each processor offline or online. This is useful
to show the scalability of OS/2 for SMP V2.11. It may also be used for debug
purposes. This tool will use the APIs described above. It is also desirable
to be able to display the time spent waiting inside of the major spinlocks,
such as the Ring 0 spinlock. It is also desirable to display the interrupt
activity for each processor.
┌────────────────────────────────────────────────────────┐
│ OS/2 Symmetric MultiProcessor Performance Monitor │
├────────────────────────────────────────────────────────┤
│ Bar Histogram Interrupt Status Options Help │
├────────────────────────────────────────────────────────┤
│ │
│ │
│ ┌────────────────────────────────────────────────┐ │
│100│ │ │
│ │ │ │
│ │ │ │
│ 90│ │ │
│ │ │ │
│ │ │ │
│ 80│ │ │
│ │ │ │
│ │ │ │
│ 70│ │ │
│ │ │ │
│ │ ┌──┐ │ │
│ 60│ │ │ ┌──┐ │ │
│ │ │ │ │ │ ┌──┐ │ │
│ │ │ │ │ │ ┌──┐ │ │ │ │
│ 50│ ┌──┐ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ ┌──┐ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ 40│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ 30│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ 20│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ 10│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ 0└────────────────────────────────────────────────┘ │
│ % │
│ CPU 1 2 3 4 5 6 │
└────────────────────────────────────────────────────────┘
Figure 1. CPU Monitor in BAR mode
Monitors % of each processor used per second.
NOTE: Each CPU to be a different color.
┌────────────────────────────────────────────────────────┐
│ OS/2 Symmetric MultiProcessor Performance Monitor │
├────────────────────────────────────────────────────────┤
│ Bar Histogram Interrupt Status Options Help │
├────────────────────────────────────────────────────────┤
│ │
│ │
│ ┌────────────────────────────────────────────────┐ │
│100│ │ │
│ │ │ │
│ │ │ │
│ 90│ │ │
│ │ │ │
│ │ │ │
│ 80│ │ │
│ │ │ │
│ │ │ │
│ 70│ │ │
│ │ │ │
│ │ │ │
│ 60│ │ │
│ │ │ │
│ │ │ │
│ 50│ ****** │ │
│ │ * *** * * │ │
│ │ **** ** *** * * │ │
│ 40│ *** * * * * **** │ │
│ │** * * * * * * │ │
│ │ *** * **│ │
│ 30│x - x │ │
│ │ x ---- -xxx xxx xxx x│ │
│ │ x- xxxx- xx - xxxx - x x ---│ │
│ 20│ -x x ----x- ---x x- - ------x - │ │
│ │-- x -x x--- -x - xxxx--- - │ │
│ │ xxx -- xxxxx - - │ │
│ 10│ - │ │
│ │ │ │
│ │ │ │
│ 0└────────────────────────────────────────────────┘ │
│%/ │
│/Time 1 2 3 4 5 6 │
└────────────────────────────────────────────────────────┘
Figure 2. CPU Monitor in HISTOGRAM mode
Monitors % of each processor used over time.
NOTE: Each CPU to be a different color.
┌────────────────────────────────────────────────────────┐
│ OS/2 Symmetric MultiProcessor Performance Monitor │
├────────────────────────────────────────────────────────┤
│ Bar Histogram Interrupt Status Options Help │
├────────────────────────────────────────────────────────┤
│ │
│ │
│ ┌───────────────────────────────────────────────┐ │
│5000│ │ │
│ │ │ │
│ │ │ │
│4500│ │ │
│ │ │ │
│ │ │ │
│4000│ │ │
│ │ │ │
│ │ │ │
│3500│ │ │
│ │ │ │
│ │ ┌──┐ │ │
│3000│ │ │ │ │
│ │ │ │ │ │
│ │ ┌──┐ │ │ │ │
│2500│ │ │ │ │ │ │
│ │ │ │ ┌──┐ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│2000│ ┌──┐ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ ┌──┐ │ │
│1500│ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│1000│ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ 500│ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ 0└───────────────────────────────────────────────┘ │
│#/ │
│/Time 1 2 3 4 5 6 │
└────────────────────────────────────────────────────────┘
Figure 3. CPU Monitor in INTERRUPT mode
Monitors # of interrupts per second.
NOTE: Each CPU to be a different color.
┌────────────────────────────────────────────────────────┐
│ Processor ONLINE/OFFLINE STATUS Selection │
├────────────────────────────────────────────────────────┤
│ │
│ │
│ │
│ Please select/change the status of the │
│ desired processor(s). │
│ │
│ A Y means the processor is online │
│ A N means the processor is offline │
│ │
│ Selection toggles the Y/N │
│ │
│ CPU ONLINE │
│ n X │
│ 1 │Y│ │
│ │ │ │
│ 2 │Y│ │
│ │ │ │
│ 3 │N│ │
│ │ │ │
│ 4 │Y│ │
│ │ │ │
│ 5 │Y│ │
│ │ │ │
│ 6 │N│ │
│ │-│ │
│ 7 │N│ │
│ │ │ │
│ 8 │Y│ │
│ │ │ │
│ │
│ │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ OK │ │CANCEL│ │ HELP │ │
│ └──────┘ └──────┘ └──────┘ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
Figure 4. CPU Monitor STATUS dialog box
┌────────────────────────────────────────────────────────┐
│ │
│ Background color -> (fig. 5b) │
│ CPU graph color -> (fig. 5a) │
│ Freeze screen Alt+F │
│ Fill Alt+I │
│ │
│ │
└────────────────────────────────────────────────────────┘
Figure 5. CPU Monitor OPTIONS dialog box
┌────────────────────────────────────────────────────────┐
│ │
│ CPU 1 │
│ CPU 2 │
│ CPU 3 │
│ CPU 4 │
│ CPU 5 │
│ CPU 6 │
│ CPU 7 │
│ CPU 8 │
│ │
└────────────────────────────────────────────────────────┘
Figure 5a. CPU Monitor GRAPH Color CPU selection
NOTE: After selecting CPU, prompt for color
selection (fig 5b).
┌────────────────────────────────────────────────────────┐
│ │
│ │
│ WHITE │
│ BLACK │
│ BLUE │
│ RED │
│ PINK │
│ GREEN │
│ CYAN │
│ YELLOW │
│ DARK GRAY │
│ DARK BLUE │
│ DARK RED │
│ DARK PINK │
│ DARK GREEN │
│ DARK CYAN │
│ BROWN │
│ PALE GRAY │
│ │
└────────────────────────────────────────────────────────┘
Figure 5b. CPU Monitor Color selection