I'm asking this question because I not only because Im looking for the answer, but because dont undertstand the reason for this, as well as what possible results this may have.
When trying to debug things in the past I've routinely used strace. But one thing has always bothered me, and I guess its about time I just come out and ask it.
Below are the strace output segments from taking a fresh install of slacko-5.5 and loading rox filer. Entire file can be found here -> http://paste2.org/p/3452409
In the 1st example, the system has to search for the libncurses.so.5 lib 16 times before it finds it and can load it.
In the 2nd example, the system has to search for the libgtk-x11-2.0.so.0 lib 24 times before it finds it and can load it.
My first question is why is this happening? My second question is how much lag is this creating in our systems? If the system has to search for every lib a dozen times... that's alot of time that our system is searching and in my mind, wasting time and resources. Maybe it's not a big deal... but if this is happening at every lib load... it's got to add up. Since we focus on older hardware this slight resource expense makes a larger difference than on new fast hardware.
My third question is what can be done to resolve this? I'm sure there's a very complicated and complex solution, but is there a simple solution which we could implement?
Code: Select all
execve("/usr/local/bin/rox", ["rox"], [/* 55 vars */]) = 0
brk(0) = 0x810e000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77a7000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/tls/i686/sse2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/tls/i686/sse2", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/tls/i686/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/tls/i686", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/tls/sse2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/tls/sse2", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/tls/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/tls", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/i686/sse2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/i686/sse2", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/i686/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/i686", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/sse2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/sse2", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0", {st_mode=S_IFDIR|0755, st_size=905, ...}) = 0
open("/lib/tls/i686/sse2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/lib/tls/sse2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/lib/tls/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/lib/i686/sse2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/lib/i686/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/lib/sse2/libncurses.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2", 0xbfc065c0) = -1 ENOENT (No such file or directory)
open("/lib/libncurses.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\243\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=268236, ...}) = 0
Code: Select all
open("/usr/lib/firefox-19.0/tls/i686/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/tls/i686/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/tls/i686/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/tls/i686", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/tls/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/tls/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/tls/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/tls", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/i686/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/i686/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/i686/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/i686", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/firefox-19.0/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/firefox-19.0", {st_mode=S_IFDIR|0755, st_size=905, ...}) = 0
open("/lib/tls/i686/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/lib/tls/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/lib/tls/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/lib/i686/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/lib/i686/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/lib/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/lib/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=100, ...}) = 0
open("/usr/lib/tls/i686/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/sse2", 0xbfd0e7a0) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgtk-x11-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20C\5\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=4586808, ...}) = 0