[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

Dynamic process channel count? (CTL$GL_CCBBASE)

» close window

The Question is:

 
Alpha 8400, 2 node cluster, 4gb memory, VMS V7.1
 
Running Oracle V7.3x, >220 server processes,
and multi-threaded lister.
 
At any time,there can be many or a few processes
active.
 
The reason for all of the above is to
dynamically determine the current channelcnt
usage. This far, only method I have discovered
is via sda: evaluate @ctl$gl_chindx
 
For the above environment, the return value is
20 decimal. Is there a better way to get more
meaningful (hopefully dynamic) info.
 
I know very little about internals BUT I have
considerable system background using DecC
(*LIB$,SYS$,CLI$,etc)
 
Thank You.
 


The Answer is :

 
  There is no supported nor documented mechanism to acquire the current
  (dynamic) channelcnt usage.
 
  On OpenVMS Alpha, SDA> EVALUATE @CTL$GL_CHINDX shows the highwater of
  all channel numbers used by this process. On OpenVMS VAX, use SDA>
  EVALUATE (@CTL$GW_CHINDX&FFFF)/10 shows the same highwater.
 
  For dynamic use, you will have to evaluate the contents of the CCB
  (Channel Control Block) array, starting from the CTL$GL_CCBBASE, and
  working downward.  (CTL$GL_CCBBASE is at the top of the array.)  At
  least on OpenVMS VAX, the CCB$B_AMOD field contains a zero if the CCB
  is available, else it contains the access mode (biased by 1, thus a
  kernel-mode channel would have CCB$B_AMOD containing the value 1) of
  the I/O channel.
 
  For further information in this area, please consider acquiring the
  OpenVMS Internals and Data Structures Manual (IDSM), available from
  Digital Press.
 

answer written or last revised on ( 1-SEP-1998 )

» close window