Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

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
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.