[linux] Re: cpu gebruik shared libraries

Folkert van Heusden folkert op vanheusden.com
Vr Aug 25 22:12:13 CEST 2006


> > Is er een truuk waarmee ik kan zien welke shared libraries 't meest
> > gebruikt worden? In termen van cpu usage bedoel ik. En ja,
> > waarschijnlijk gebruikt glibc 't meest maar ik wil 't graag van de, zeg,
> > bovenste 10 weten.
> De eerste vraag: waarom wil je het weten? Wat wil je met die kennis 
> bereiken?

Ik wil nagaan welke libraries (naast libc) 't meest gebruikt worden om
zo na te gaan welke ik 't beste kan hercompileren voor p4.

> Een ruwe indicatie zou je kunnen krijgen door te kijken naar de link 
> count van je libraries. Die kun je uit je /proc/<procid>/maps halen... 
> De aanname is dan dat de libraries die het meest gelinkt worden ook het 
> meest gebruikt worden.

Hmmm. Of ik van open() van libc af. Dan is 't 'n kwestie van tellen.

folkert op muur:~$ strace echo bla
execve("/usr/bin/echo", ["echo", "bla"], [/* 36 vars */]) = 0
brk(0)                                  = 0x804c000
access("/etc/ld.so.preload", R_OK)      = 0
open("/etc/ld.so.preload", O_RDONLY)    = 3
fstat64(0x3, 0xbf8760b4)                = 0
close(3)                                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(0x3, 0xbf875bbc)                = 0
old_mmap(NULL, 45932, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f87000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0vEM4\0"...,
512) = 512
fstat64(0x3, 0xbf875c48)                = 0

er worden immers gewone open()s gedaan voor libs.
Hmmm.
Vereist wel trickery preload gebeuren en reboots.


Folkerk van Heusden

-- 
www.vanheusden.com/multitail - win een vlaai van multivlaai! zorg
ervoor dat multitail opgenomen wordt in Fedora Core, AIX, Solaris of
HP/UX en win een vlaai naar keuze
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com



More information about the Linux mailing list