|
-
My understanding is, if you do not use Direct I/O, OS issues READ() system calls, as
12056: times(0xFFFFFFFF7FFFB610) = 1400029210
12056: write(12, "01F2\0\006\0\0\0\0\01017".., 498) = 498
12056: read(9, "\015\0\006\0\0\0\0\00305".., 2064) = 2112056: times(0xFFFFFFFF7FFFB860) = 1400029210
12056: times(0xFFFFFFFF7FFFB000) = 1400029210
12056: times(0xFFFFFFFF7FFFB000) = 1400029210
But when OS uses Direct I/O calls thru DIRECTIO() system calls instead of READ().
You may read more at
http://docs.sun.com/app/docs/doc/816...ctio-3c?a=view
Well, what options you used foir truss...? I used,
$ truss -aefp ==> try various PIDs - DBWR, LWR and a server process.
There is one parameter "_DB_FILE_DIRECT_IO_COUNT" (8 and above. in Oracle7, it was _DIRECT_IO=TRUE)and according to oracle (documented 8 when it was not hidden), it uses only for certain operations like backups, restore, parallel query execution and large sort or joins. In that case you need to trace a server process created by RMAN for backup or restore. How ever, Direct I/O on file systems is "Synchornus". Anyway, I am yet to do more research on this.
Note 1: If possible, please paste some of the truss output containing READ()/WRITE()/DIRECTIO() calls. Many Thanks.
Note 2: VxFS Quick I/O is based KAIO ( Kernalised Asychonous I/O), KAIO eliminates the AIO API calls, and incorporating the I/O services to the kernal itself - I think that is different story? Again kaio() and aioread() are the respective system calls for KAIO and AIO, different from directio().
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|