Tag: disk IO
About
What we blithely call a "Disk I/O" is actually made up of several components, each of which may have an impact on overall performance. These layers may be broken down as follows for a typical I/O operation:
-
POSIX: Application calls a POSIX library interface. (These frequently map directly to system calls, except for the asynchronous interfaces. These latter work via pread and pwrite.)
- System Call: The relevant node and vfs system calls are:
- close()
- creat()
- fsync()
- ioctl()
- link()
- mkdir()
- open()
- read()
- rename()
- rmdir()
- seek()
- unlink()
- write()
- vfs system calls:
- mount()
- statfs()
- sync()
- umount()
- VOP: The vnode operations interface is the architectural layer between the system calls and the filesystems. DTrace provides the best way to examine this layer. Starting in version 0.96, the DTrace Toolkit's vopstat command allows direct monitoring at this level.
- Filesystems: There is some discussion of filesystem tuning and filesystem caching at the bottom of this page. Further information on troubleshooting a particular filesystem is contained in each filesystem's web page. (This site contains pages for NFS, UFS and ZFS filesystems.)
- Physical Disk I/O: This is the portion of the I/O that involves the transfer of data to or from the physical hardware. Traditionally, I/O troubleshooting focuses on this portion of the I/O process.
From www.princeton.edu/~unix/Solaris/troubleshoot/diskio.html






tagcloud