Hi Pieter
 
It didn't quite work.
Long story short, there seems to be some missing code.
It fails on using uninitialized variables in arithmetic statements.
 
Such as variable VDSSSZ.
 
Anyway, on a side note, where/how did you get a control block manual?
It use to be licensed manuals that came with the shipment.
Then it was licensed manuals on a "special" CD with a password.
Then it was licensed manuals on a "special" CD.
Now, they point you to a web site.
 
Tom Duerbusch
THD Consulting

>>> Pieter Harder <[EMAIL PROTECTED]> 3/7/2007 3:31 PM >>>
Hello Tom,

just a short cutout of a much larger exec that should provide the basics for 
zVM 5.2.
It is basically control block jumping from the sysvm vmdbk.

'PIPE CP LOCATE HCPSYSVM | SPECS W3 N | VAR @SYSVM'                       
sysvmpag = left(@sysvm,5)                                                 
'PIPE CP D H'sysvmpag'918.4 | SPECS W2 N | VAR @ASCBK'      /*VMDASCBK*/  
do while @ascbk *= '00000000'                                             
  [EMAIL PROTECTED] = x2d(@ascbk)                                               
    
  'PIPE CP D H'd2x([EMAIL PROTECTED] + x2d('18'))'.18 |' ,            /*ASCNAME 
*/  
    'SPECS W2 N W3 N W4 N W5 N READ W2 N W3 N |' ,                        
    'SPECS 1-* X2C N | VAR ASCNAME'                                       
  'PIPE CP D H'd2x([EMAIL PROTECTED] + x2d('68'))'.10 |' ,      
/*ASCDEFSZ-STATE*/  
    'SPECS W2 N W3 N WRITE W5 N WRITE | STEM WORD.'                       
  ascdefsz = word.1                                         /*ASCDEFSZ*/  
  asctype  = substr(word.2,3,2)                             /*ASCSTATE*/  
  'PIPE CP D H'd2x([EMAIL PROTECTED] + x2d('8C'))'.4 |' ,             
/*ASCFOLST*/  
    'SPECS W2 N | VAR W2'                                                 
  ascsutyp = substr(w2,3,2)                                               
  'PIPE CP D H'd2x([EMAIL PROTECTED] + x2d('A0'))'.4 |' ,             
/*ASCCTPRS*/  
    'SPECS W2 X2D N | VAR ASCB2G'                                         
  'PIPE CP D H'd2x([EMAIL PROTECTED] + x2d('B0'))'.10 |' ,        
/*ASCCTPGS-PRG*/  
    'SPECS W2 X2D N WRITE W3 X2D N WRITE W5 X2D N | STEM WORD.'           
  ascdas = abs(word.1)                                      /*ASCCTPGS*/  
  ascxst = word.2                                           /*ASCCTXBK*/  
  asca2g = word.3                                           /*ASCCTPRG*/  
  'PIPE CP D H'd2x([EMAIL PROTECTED] + x2d('15C'))'.4 |' ,            
/*ASCMVB2G*/  
    'SPECS W2 X2D N | VAR ASCMB2'                                         
  select                                                                  
    when c2x(bitand(x2c(ascsutyp), '20'x)) = '20' then do   /*ASCUVDSK*/  
      vdsssz = vdsssz + (x2d(ascdefsz) + 1) / 4096                        
      vdsb2g = vdsb2g + ascb2g                                            
      vdsa2g = vdsa2g + asca2g                                            
      vdsxst = vdsxst + ascxst                                            
      vdsdas = vdsdas + ascdas                                            
      vdsmb2 = vdsmb2 + ascmb2                                            
    end                                                                   
    otherwise do                                                   
      nop
    end                                                            
  end                                                              
/*say ascname ascb2g asca2g ascxst ascdas */                       
  'PIPE CP D H'@ascbk'.4 | SPECS W2 N | VAR @ASCBK' /* ASCOFPNT */ 
end            

Best regards,
Pieter Harder

[EMAIL PROTECTED] 
tel  +31-73-6837133 / +31-6-47272537

>>> [EMAIL PROTECTED] 7-3-2007 20:06 >>>
Inquiring minds want to know.  What is this "CP command"?

IMHO, this is one of the few, or only, major resources, that we can't see 
without a VM performance monitor.

I can see who is using CPU (multiple ind user commands)
I can see who is using real storage (ind user)
I can see who is doing I/O (again ind user)
I can see who is paging (multiple ind user)

I can see that a user has vdisk allocated.
But I haven't found a command or someone's handy rexx exec, that would allow me 
to know:

1.  How many vdisk pages were touched (hence created).
2.  How many vdisk pages are in real storage.
3.  How many vdisk pages are on the page dataset.

Obviously, I only need two of the three as you can calculate the third one.

I'm really surprised that the base VM system doesn't have a method (even by a 
rexx exec) for someone to query current vdisk utilization and usage.  When 
someone is abusing vdisk, my only indication is paging skyrockets.  Then I look 
for the usual suspects...

On the Linux side, using swapon -s, you can see how many vdisk pages are 
currently used.  But you don't know how many vdisk pages were ever used.
Tom Duerbusch
THD Consulting
>>> Tom Shilson [EMAIL PROTECTED]> 3/7/2007 12:13 PM >> ( mailto:[EMAIL 
>>> PROTECTED]> )

The is a CP command, which escapes me at the moment, that will tell you
how many of the VDISK pages have been touched.  It should show that all of
them have been touched.  The Linux commands only show the current usage,
not the maximum usage.

Good Luck!

tom
- - - - - - - - - - - -
Toto, I have a feeling we're not in the mainframe world any more.
   _/)                  Tom Shilson
~~~~~            Unix Team / IT Server Services
Aloha               Tel:  651-733-7591       tshilson at mmm dot com
                           Fax:  651-736-7689

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390 

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390 

Brabant Water N.V.
Postbus 1068
5200 BC  's-Hertogenbosch
http://www.brabantwater.nl ( http://www.brabantwater.nl/ )
Handelsregister: 16005077

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to