"lsof -o" under Linux
gerald at ethereal.com
Tue Nov 2 13:47:08 CST 2004
Jason Clinton wrote:
> I'm interested in knowing this as well. Some Googling hasn't turned up
> anything useful, so far. Just to be clear, you want to know what byte
> offset that a particular file descriptor for a particular process is
> sitting at, right?
Exactly. If I'm waiting on tar to extract three files from the middle
of a multi-gigabyte archive, I want to know how far into the file it is
so that I can adjust my patience level accordingly. I was able to get
offsets for regular file descriptors, special devices (e.g. tape drives,
which is _really_ handy) and even sockets under Solaris 10 years ago.
What's taking Linux so long?
While we're on the subject, why doesn't "top" under Linux print I/O wait
statistics, like its Solaris counterpart does? Have a look at the CPU
lines in the following:
top - 13:41:07 up 69 days, 3:24, 1 user, load average: 0.10, 0.11, 0.12
Tasks: 260 total, 1 running, 259 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.8% user, 3.1% system, 0.0% nice, 96.1% idle
Mem: 1550600k total, 1468416k used, 82184k free, 0k buffers
Swap: 996020k total, 66568k used, 929452k free, 1147744k cached
load averages: 0.32, 0.24, 0.23 13:41:36
91 processes: 88 sleeping, 1 running, 2 on cpu
CPU states: 50.5% idle, 45.0% user, 4.4% kernel, 0.1% iowait, 0.0% swap
Memory: 512M real, 119M free, 757M swap in use, 1637M swap free
If the system is having performance problems, a high "iowait" tells me
at a glance if the problem is disk-bound vs CPU-bound.
More information about the Kclug