On Mon, Sep 26, 2011 at 2:02 PM, Nicolas Ross rossnick-lists@cybercat.ca wrote:
Not sure what those do, but lsof should show what files are open, and 'strace -p process_id' would show the system calls issued by a process.
Thanks, that might be usefull. I'ill just have to find a way to strace multiple process at once and find the usefull info among that load of data...
Note that if what is really happening is that different processes are frequently accessing the same disk in different locations (a fairly likely scenario) the time will be mostly taken by the head seeks in between and may be hard to pin down.
I found the -f option to strace is able to attach to the forked child of a parent process, so I will be using that in my debuging in conjunction witgh -e to filter out only the calls I want to see...
But indeed, that might be hard to find. In one case, I want to see what files are opened / accessed on a gfs2 volume over a fiber channel link to a raid-1 array, and the controler is supposed to intelligent enough to distribute the read access across the 2 disks. And in the other case, it's an ssd, so seek time should be 0.
Not sure how gfs2 deals with client caching, but in other scenarios it's probably easier to just throw a lot of ram in the system and let the filesystem cache do its job. You still have to deal with applications that need to fsync(), though.