Operating System - OpenVMS
1827667 Members
3779 Online
109966 Solutions
New Discussion

Process doing bunch of DIO, but to what device?

 
Garry Fruth
Trusted Contributor

Process doing bunch of DIO, but to what device?

We have an OpenVMS 7.3-2 Alpha. There was a process doing a bunch of DIO, and consuming a lot of CPU time. How would I go about finding out what device or activity is leading to all the DIO? In the past, I have used SDA> SHOW PROCESS/CHANNEL several times to see what file is most frequently busy. And then drilled down to the WCB for the files to confirm that there is READS/WRITES to the file. But that didn't work in this case. I have since killed the process; but I expect that this will happen again. Any suggestions on what to do the next time?
8 REPLIES 8
Andy Bustamante
Honored Contributor

Re: Process doing bunch of DIO, but to what device?


Depending on how busy your system is, you might consider:

$ monitor disk

$ show dev $1$dga32: /file

$ pipe show dev $1$dga32: /file | sea sys$pipe andyb

Andy


If you don't have time to do it right, when will you have time to do it over? Reach me at first_name + "." + last_name at sysmanager net
Hein van den Heuvel
Honored Contributor

Re: Process doing bunch of DIO, but to what device?

$ANALYZE/SYSTEM
SDA> SHOW PROC/CHAN process

Look for the 'busy' channel(s)



Now doublecheck with SHOW MEMORY/CACHE=TOPQ (check spelling)


RMS Indexed file?

Contact Hein for Help :-)

Regards,

Hein van den Heuvel
HvdH Performance Consulting.


Volker Halle
Honored Contributor

Re: Process doing bunch of DIO, but to what device?

Garry,

you can also use the IO$SDA extension to trace information about all IOs in the system.

$ ANAL/SYS
SDA> IO ! displays short help information

SDA> IO LOAD
SDA> START TRACE/NOBIO/DIO
... wait a while ...
SDA> STOP TRACE
SDA> IO SHOW TRACE/DIO
...

You can also use

SDA> IO START COLLECT/DIO /PROC (or /DEV)
SDA> IO SHOW COLLECT
SDA> IO STOP COLLECT

SDA> IO UNLOAD
SDA> EXIT

The SDA extension routines are very powerful tools for debugging.

Volker.
Garry Fruth
Trusted Contributor

Re: Process doing bunch of DIO, but to what device?

With regrard to MONITOR DISK; I have used MONITOR CLUSTER/NODE=xxx to spot the busiest disk - in this case there wasn't a disk with anywhere close to the DIO rate of the process.

I'll look into SHOW MEMORY/CACH... it sounds interesting and may lead to something.

I'll also look into the IO$SDA extension; it too sound interesting and may lead to something. I'll update the thread the next time I have that process go loopy.

Thanks!
GuentherF
Trusted Contributor

Re: Process doing bunch of DIO, but to what device?

Not every all DIOs are real I/Os. Some drivers count a DIO when called for device information. I think some SHOW DEVICE calls even increment the DIO of a process. I would try to get the image running in this process. If none it maybe a DCL-procedure in aloop doing some SHOW DEVICE.

/Guenther
Jess Goodman
Esteemed Contributor

Re: Process doing bunch of DIO, but to what device?

Don't forget that writes to the NL: devices is counted under Direct I/O. Often when I see the symptoms you described it is due to a process caught in an infinite error loop (it keeps retrying reads or writes that fails) and its output and error device are NL:.
I have one, but it's personal.
Cass Witkowski
Trusted Contributor

Re: Process doing bunch of DIO, but to what device?

You can get DIO's when doing I/Os to network devices as well.

if the process had any INET or NTY or BG devices you may want to do SHOW DEV/FUL on them and look at the OP count
Garry Fruth
Trusted Contributor

Re: Process doing bunch of DIO, but to what device?

show mem/cach=(topqio,volume) was very useful. Thanks for all the input.