Begin File: sysmon.tgz Description:monitor of system activity Keywords:sysmon activities monitor Version: Entered-date: Author:Robert Krten Ported-by: Original-site: Copying-policy: Supplemental: SYSMON System Monitor (C) Copyright 1991, 1992, 1994, 1996 by Robert Krten DESCRIPTION ----------- The SYSMON program has been designed to allow a QNX 4 user to get an overall view of the system as it is running. Top CPU time processes, top memory users, etc, can be displayed in a full screen manner. Here is a command summary, and a description of the various operating modes: sysmon [options] Where [options] can be: m= Where can be one of: interrupts will display a count of interrupts / sample kcalls will display kernel calls / sample physmem will display a map of the physical memory usage register will display the process registers states will display QNX process states status will display a summary of process activity topcode will monitor the top code using processes topcpu will monitor the top CPU time processes topdata will monitor the top data using processes topmem will monitor the top memory using processes defaults to "topcpu". +histogram Displays a histogram on the lower portion of the screen showing the current parameter set over a longer period of time. Requires more than 25 lines of display. Note that for m=topcpu, only processes with a priority greater than 1 will count. Note also that not all monitor types have an associated histogram mode. a= Defines the terminal colour attributes (default to current). Hitting "q will exit SYSMON, and get back to the QNX 4 prompt. Note that the can be abbreviated to the minimum number of characters required to uniquely specify it. RELEASE HISTORY --------------- 0.100 Version 0.100 is the first public release of SYSMON. It allows all of the features listed in the description, but the +histogram function only works for m=topcpu. Other +h functionality may be added eventually. 0.200 Version 0.200 has the following changes from previous versions: o added label to TOPCPU histogram for height (0, 1/2, and 1) o changed physmem display to show type of memory, as follows: C memory is code, and readable G memory is global R memory is data, read only W memory is data, read and write X memory is code, execute only o histogram now displays its scale immediately o changed so that "q" will exit, not just any key o added m=register type o modified so that m=topcpu will display bar graph with 2x resolution. o added [i=interval] optional parameter for controlling the delay between samples. It is possible, though not recommended (unless you change the priority to be lower) to have an interval of zero on most functions. The default interval is 2 seconds. An interval of zero is disallowed on m=register, as it has been observed to have ill effects on other tasks. 0.245 (1994 02 24) Version 0.245 introduces some minor bug fixes, and has been recompiled with new libraries and works under the 16/32 bit QNX 4.21 O/S. 0.282 (1996 08 17) Version 0.282 introduces the following changes, in order of importance, from previous versions. o added kernel event monitoring for interrupts. Use the "m=interrupts" option to exercise this feature. Sysmon will monitor interrupts by picking up the kernel counters that keep track of interrupt invocation -- therefore, you must be running at least QNX 4.23 Proc 32 4.23E Aug 16 1996 version. o added kernel call monitoring. Use the "m=kcalls" option. o default interval reduced to 1 second. I'm not really sure of the logic of having it every two seconds anyway -- I guess it's nicer for slow terminals, but these days? You can still override it with i= if you like. o interval may be specified as a floating point number of seconds. This allows for timelier monitoring of events, perhaps using "i=0.1", or similar. o options to "m=" command now only require minimum unique characters, rather than the old way, which required the full text of the option. o full 32-bit recompile with flat model. This means that the executable generated will require a 386 or higher -- you can change the Makefile to specify -2 instead of -4 if you really want a 16-bit executable. 0.304 (1996 08 22) Version 0.304 introduces the following changes from previous versions: o m=interrupts now goes out to Proc and queries the process names associated with an interrupt source, and attempts to give a "best guess" as to the usage of the interrupt source. The following heuristics apply: Name Interrupt Name ------------------- -------------- *Fsys*floppy* FDsk *Fsys* HDsk (if not above match) *Net* Net *ser* Ser o a small buglet was fixed, where the log scale would not display some small non-zero values. 0.308 (1996 11 01) Version 0.308 simply increased the "minimum idle priority" as Photon screen savers tend to run at priority 4, and would (erroneously) show up as "CPU Intensive" processes. 0.326 (1996 11 20) Version 0.326 fixes a few minor buglets with memory. The new Proc returns a 4 GB memory region for one of the processes, and hence several signed shorts overflowed. LICENSE ------- This software is free. The source code has been included, and may be modified and used in any way. There is no support with this product, and no liability is assumed whatsoever with respect to the use of this product. My main focus is as a technical consultant, providing contract Research and Development Services, specializing in the areas of communications, embedded systems, and realtime software and hardware. I have extensive experience in QNX 2 and 4 development, and have been using Neutrino since version 0.1. If you need consulting or contract services, I can be reached as: Robert Krten 278 Equestrian Drive, Kanata, ON K2M 1C5 Canada +1 613 599 8316 (voice) Internet (preferred): rk@parse.com Web: http://www.parse.com Quics: rkrten End