Real time internal resource monitor for data processing system
First Claim
1. A system for monitoring the performance of one or more computer processors and a plurality of processor resources assigned to said one or more processors, said one or more computer processors and including permanent storage devices and volatile storage devices, the system comprising:
- control program means executing on each of said one or more computer processors for generating event signals at a start and an end of predefined events;
monitor control means for controlling collection of performance data and for displaying performance data;
data collection means for collecting performance data from said one or more computer processors, the data collection means being responsive to said monitor control means, said data collection means further comprising;
storage means for storing performance data;
processor resource monitor means for testing the status of said processor resources comprising;
Polling means for polling permanent and volatile storage status; and
data interpretation means for generating performance data based on said polling means;
event signal filter means for testing each event signal, and writing to said storage means only that data associated with a selected subset of event signals.
0 Assignments
0 Petitions
Accused Products
Abstract
A system resource monitor is provided to capture a data processing system'"'"'s internal resource utilization, such as memory, CPU, or peripheral device availability/utilization. The captured `state` of the data processing system'"'"'s resources is maintained in real-time, while the impact on the system'"'"'s performance in providing such information is kept to a minimum. This is accomplished through a combination of various techniques, including specialized device drivers for the respective devices coupled with a unique data reduction technique. Such techniques include filtering only events which are of interest and combining similarly related events to reduce data processing requirements. This real-time support provides an immediate and accurate representation of the internal operations of the data processing system. Further, these resources can monitored at the process level of a multiprocessing system. This captured data can be used by an application or control program to identify, isolate, and fine-tune the data processing system'"'"'s resources to improve the overall efficiency of the system being monitored.
227 Citations
8 Claims
-
1. A system for monitoring the performance of one or more computer processors and a plurality of processor resources assigned to said one or more processors, said one or more computer processors and including permanent storage devices and volatile storage devices, the system comprising:
-
control program means executing on each of said one or more computer processors for generating event signals at a start and an end of predefined events; monitor control means for controlling collection of performance data and for displaying performance data; data collection means for collecting performance data from said one or more computer processors, the data collection means being responsive to said monitor control means, said data collection means further comprising; storage means for storing performance data; processor resource monitor means for testing the status of said processor resources comprising; Polling means for polling permanent and volatile storage status; and data interpretation means for generating performance data based on said polling means; event signal filter means for testing each event signal, and writing to said storage means only that data associated with a selected subset of event signals.
-
-
2. A method for tracing system events in a processor system having one or more processing elements and a hardware timer, the method comprising the steps of:
-
executing at least one program in said processor system that generates system event signals; initiating system event monitoring; capturing selected ones of said system event signals, said selected ones defined by a control processor; generating a time stamp from said hardware timer indicating a time of occurrence; matching a start event signal with a corresponding end event signal to create an event interval signal; determining event interval time by analyzing said time stamps for said start and end event signals; summarizing said event interval signals to create system event performance data; and displaying system event performance data in a graphical form.
-
-
3. A method for determining amount of volatile memory in use over a time interval in a computer system having at least one processor and volatile memory divided into a plurality of allocatable memory blocks each having a block size, each of said memory blocks containing an indicator of whether or not said block is allocated and a time stamp indicating the time of last processor access to said block, said method comprising the steps of:
-
periodically testing each of said memory blocks to determine whether said memory block is allocated or not; if allocated, testing said time stamp to determine the time of last access; testing to determine whether said last access is within said monitor time interval; and adding the block size to a counter summing the total memory in use during said time interval.
-
-
4. A method of measuring the performance of a computer system having one or more processors, a hardware timer, and a plurality of processor resources including memory divided into a plurality of blocks each having a block size, the method comprising the steps of:
-
executing at least one program on said computer system, said at least one program generating system event signals; summarizing system event performance by determining event interval times for a selected subset of system events; summarizing processor idle time by determining the percentage of time each of said one or more processors is not executing a task of higher than a lowest available priority; summarizing processor resource utilization by determining the percentage of time the resource is busy in a time interval; summarizing memory usage by determining the amount of memory used over a time interval, and collecting all said summaries and displaying said data on a display device. - View Dependent Claims (5, 6, 7, 8)
-
Specification