Hello Axel and all,
I am using Mac OS X which does not have strace. Does anyone know a good alternative tool to trace file I/O in root.exe?
Regards,
--
OKUMURA, Akira oxon@{astro.isas.jaxa.jp,stanford.edu}
Institute of Space and Astronautical Science (ISAS/JAXA)
Now at KIPAC/SLAC/Stanford
Varian Physics #306, 382 Via Pueblo Mall, MC 4060
Stanford, CA 94305-4060
TEL 650-736-0971/FAX 650-724-5065
Skype : okumura.akira
On 2011/02/03, at 5:47, Axel Naumann wrote:
> Hi,
>
> run strace on root.exe (yes, on Linux). root invokes root.exe, and I
> believe that's what you are seeing.
>
> Cheers, Axel.
>
> Eduard Avetisyan wrote on 02/02/2011 08:55 PM:
>>
>>
>> On Wed, 2 Feb 2011, Konstantin Olchanski wrote:
>>
>>> On Wed, Feb 02, 2011 at 08:34:52PM +0100, Eduard Avetisyan wrote:
>>>>> On Wed, Feb 02, 2011 at 08:04:12PM +0100, Eduard Avetisyan wrote:
>>>>>>
>>>>>> The same strace produces ~130 calls in my case, which include but are not
>>>>>> limited to libraries like:
>>>>>> open("tls/i686/sse2/libXpm.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
>>>>>
>>>>> You have "." in your LD_LIBRARY_PATH. Remove it and those syscalls will go away.
>>>>
>>>> Good hint! Changing the LD_LIBRARY_PATH from ":$ROOTSYS/lib" to simply
>>>> "$ROOTSYS/lib" (just a colon difference) reduced the startup time from 12s
>>>> to 8s, so by 1/3. Still, it's way slower than a local startup time of 0.1s.
>>>>
>>>
>>> You are still making the system search for every system library in $ROOTSYS/lib,
>>> which I understand is a slow SSHFS filesystem.
>>
>> Quite the contrary! The $ROOTSYS is local and fast! Only the current
>> working directory is on SSHFS!
>>
>>
>>>
>>> You can try to put the system library path (/lib, etc) in front of $ROOTSYS/lib,
>>> so the loader quickly finds the system libraries and does not touch SSHFS.
>> Tried, doesn't change anything (as $ROOTSYS is local anyway). But I found
>> that the slow part happens with the following strace signature:
>>
>> clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb73769b8) = 27680
>> waitpid(27680, root [0] [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WSTOPPED) = 27680
>>
>> namely, "waitpid(27680," is printed and the rest shows up 8-12 seconds
>> later.
>>
>> Thanks for looking into this!
>> Eduard
>>>
>>> --
>>> Konstantin Olchanski
>>> Data Acquisition Systems: The Bytes Must Flow!
>>> Email: olchansk-at-triumf-dot-ca
>>> Snail mail: 4004 Wesbrook Mall, TRIUMF, Vancouver, B.C., V6T 2A3, Canada
>>>
>>>
>>
>
Received on Sun Feb 13 2011 - 22:07:20 CET
This archive was generated by hypermail 2.2.0 : Mon Feb 14 2011 - 11:50:01 CET