home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
os2sysq.zip
/
OS2SYSQ.DOC
next >
Wrap
Text File
|
1999-05-26
|
6KB
|
132 lines
Operating System/2 System Queues Analyzer
Author : Dave Blaschke
IBM Austin, Texas
Internal (Notes) - Dave Blaschke@IBMUS
Internal (VM) - IBMUSM26(BLASCHKE)
External - blaschke@us.ibm.com
Description : Analyzes and reports the memory used by OS/2 system queues,
and optionally displays the queues, queue links, queue
elements, and/or queue static data.
NOTE: OS/2 system queues are manipulated through use of the
DosXxxQueue APIs, and should not to be confused with
message queues or print queues.
This feat is accomplished by searching through the linear
address space for the object that contains the system
queues' static data, or _statseg. Once found, ownership of
the queues semaphore, located within queues instance data,
is obtained to prevent modification by the system while
analysis is taking place. All queues, queue links, and
queue elements are then analyzed. When finished, ownership
of the queues semaphore is relinquished and the requested
information is displayed to standard output.
The user can request to display all queue element
structures by specifying the -E option. The user can
request to display all queue link structures by specifying
the -L option. The user can request to display all queue
structures by specifying the -Q option. The user can
request to display the queue static data structure by
specifying the -S option.
The user can request helping information by specifying the
-?, -H, or -HELP option.
The OS/2 System Queues Analyzer works on all 32-bit
versions of OS/2:
| Major | Minor
Name | Version | Version
--------------------------------+---------+---------
OS/2 Version 2.0x | 20 | 0x
OS/2 Version 2.1x | 20 | 1x
OS/2 Warp Version 3 | 20 | 30
OS/2 Warp Version 4 | 20 | 40
OS/2 Warp Server for e-business | 20 | 45
where major and minor versions are the corresponding values
returned from DosQuerySysInfo.
Usage : OS2SYSQ [-E] [-L] [-Q] [-S]
Where:
-E indicates display queue elements
-L indicates display queue links
-Q indicates display queues
-S indicates display queue static data
Output : Information similar to the following is displayed:
Total memory usage = 988 bytes (maximum 131072)
12 Queues = 660 bytes
4 Queue links = 40 bytes
12 Queue elements = 288 bytes
If the user requests to display all queue element
structures (-E option) information similar to the following
is displayed for each queue element:
Queue Element #1:
Flags = 0x00
Priority = 0x00
Data = 0x00670000
Length = 0x00000244
Next element at 0x9827:030C
Previous element at 0x0000:0000
PID of writer = 0x003C
Request = 0x00000000
If the user requests to display all queue link structures
(-L option) information similar to the following is
displayed for each queue link:
Queue Link #1:
Flags = 0x00
Number opens = 0x01
PID of opener = 0x0027
Queue handle = 0x0009
Next link at 0x9827:01D8
If the user requests to display all queue structures (-Q
option) information similar to the following is displayed
for each queue:
Queue #1 (approximate memory usage = 341 bytes):
Flags = 0x00
Number opens = 0x00
Priority = 0x0000
Handle = 0x000C
PID of queue creator = 0x003C
Number elements = 0x000C
First element at 0x9827:02DC
Last element at 0x9827:02F4
Next queue at 0x9827:0268
RAM semaphore = 0x00000000
System semaphore handle = 0x00000000
Name = "\QUEUES\NET\FREE.BRW"
If the user requests to display the queue static data
structure (-S option) information similar to the following
is displayed:
Queue static data (_statseg) at 0x9807:01E0:
Flags = 0x01 (queues initialized)
RAM Semaphore = 0x00000000
PID accessing queue data = 0x0000
Number used queue handles = 0x000C
First queue at 0x9827:02A4
First queue link at 0x9827:0224
Data segment size = 0x1000
History : Version Date Item
2.45.00 26May99 Created
Please direct all comments, problems, questions, and suggestions to the
author above.