Welcome to the home of CPU Utility/2 or shorter just CPU/2, a Freeware utility that allows you either to toggle processors on your OS/2 SMP workstation from Online to Offline (and vice versa) or to display the relative CPU utilization for the busy, idle and interrupt states per CPU on your OS/2 Warp Server Adv. SMP, Warp 4 and Warp Server for e-Business (WSeB, Aurora) (and likely Warp 3 with some recent fixpacks) workstations.
I wrote CPU/2, because:
When invoking CPU/2 without commandline arguments, the help is displayed:
CPU/2 will display information about its required and optional parameters when you invoke CPU /?.
APM/2 is provided in 2 NLS versions:
/Verbose | This option displays the current status of your processor(s). Currently to use that option successfully, you need to be running Warp Server Advanced SMP, but future OS/2 versions likely will support the required APIs too. |
/Online x /Offline x |
This option allows you to toggle a processor from Online to Offline status or
vice versa. CPU/2 verifies that your request has been performed correctly by
verbosing and comparing the new processor status with the requested one.
Again, currently that request will only work on Warp Server Advanced SMP. One thing to mention is that processor 1 of an SMP system can't be set to Offline (though the term "symmetrical" from SMP would imply that) I'm afraid the current Intel based multiprocessor specification APIC 1.4 defines CPU 1 as a special one which must run in order for the whole PC to run (I suppose that this is the only CPU that can process certain hardware interrupts). | .
/Performance | This options verboses the relative CPU utilization per processor for the categories
Idle, Busy and Interrupt every second until the Space Bar is pressed:
For each CPU found in your system, this information will be displayed, however only 4 will fit into a "normal" 80 columns wide commandline. As the status will be updated every second on the same line, 5 of more CPUs will cause an additional linefeed in between and the output formatting will be corrupted a little bit. (You can use "MODE 132,25" as a workaround though.) To prevent that short-lived temporary spikes (as one can see in MPCPUMON) will be reported, an average of the last measurements (currently 5) is calculated and displayed. This filters such spikes and causes a much smoother display. On final thing to note is, that this option will also work on Warp 4 and likely also Warp 3 systems (with some recent fixpacks applied), of course it will only show data for 1 CPU, as those OS/2 versions will ignore any CPU installed except CPU 1. |
/Language xx | This option allows you to force using the national language version of CPU/2 where
CPUxx.msg exists. CPU/2 ships with CPUUs.msg and CPUGr.msg, being the
English and German NLS versions. CPU/2 tries to load messages in the language of the system where it is running on, e.g. on a German setup (049 at the COUNTRY statement in CONFIG.SYS) the German message file is used, though those automatic support is limited to only major languages. You can easily use CPUUs.txt as a template, translate the messages while preserving the row and column layout, and then compile them into your national language CPUxx.msg messagefile. As said, if you're running a major language as e.g. French or Spanish, NLS support will be used automatically then, otherwise just supply the /Language xx option. |
CPU/2 is Freeware, but I welcome you to credit me if you're going to reuse some code and I'm also very interested to hear about your product where you are using the code, likely I will also add a link to it from my pages!
You are also welcome to upload this program to any distribution (like e.g. Hobbes, Leo, ...) or to mention it in foras or E-Zines (like e.g. Warpcast) as I might not have the time to do it myself.