Pomala odezva

Zdenek Pytela letty na mrakoplas.phil.muni.cz
Středa Březen 4 12:27:25 CET 1998


Pavel Kankovsky pise:
:> 	strace -f -p vypisuje u telnetove seance mnohem min udaju, nejake
:> tam podle me uplne chybi, pritom by prepinac -f mel zajistit sledovani
:> potomku. Pri prihlasovani na konzolu je ve vypisu krome dvojiho nacitani
:
:to je zvlastni... da se povaha chybejicich udaju nejak lepe popsat (jsem
:ochoten poskytnout soukromou konzultaci zdarma :> )
	passwd se otvira trikrat navic, to ostatni jsou snad (?) drobne
detaily. (Ale konzultace v jakemkoliv smeru vitam.)

:> Pri trasovani pomoci strace se na obrazovku nejpomaleji vypisuje obsah
:> passwd a shadow, ale kolik casu tim doopravdy obvykle travi nevim, ani jak
:> to zjistovat jinak nez odhadem.
:
:strace na to ma parametry:
:
:-r -- print relative timestamp, -t -- absolute timestamp, -tt -- with usecs
:-T -- print time spent in each syscall
	-T ukaze u vetsiny volani spotrebovany cas mensi nez 0.0001.
Zajimavy je taky parametr -c:
Vyber z vypisu na konzole:
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 48.31    0.593345        8476        70        34 wait4
  6.97    0.085543         117       731           sigaction
  6.82    0.083777         145       576           sigprocmask
  5.58    0.068515         267       257           read
  4.22    0.051877        2730        19           execve
  3.68    0.045256        1257        36           fork
  3.48    0.042684         236       181        22 open
  2.78    0.034184          64       534       290 close
  2.72    0.033457         108       311           mmap
  1.28    0.015770         219        72        22 stat
  0.91    0.011231         173        65        18 lseek
  0.82    0.010062        3354         3           send
  0.77    0.009410         118        80         3 fcntl
  0.20    0.002481         827         3         1 connect
  0.02    0.000282         282         1         1 access
  0.01    0.000067          67         1         1 getpeername
------ ----------- ----------- --------- --------- ----------------
100.00    1.228154                  4131       394 total

U telnetove seance je to dost podobne, pocet chyb uplne stejny. Jestli
volani zabrala dohromady 1.2 sekundy, nevim, co delal cely zbytek doby a
k cemu jsou tam ta cekani.
Na zdravem stroji s lepsim hardwarem je celkovy cas polovicni - 0.6, neni
tam volani getpeername a fchdir.

	Zmena shellu nepomuze, ale tim se snad hledani omezuje na cas mezi
dvema forky getty->login a login->bash; ve vypisu strace je to jenom prvnich
900 radku. Kdyby mel nekdo lepsi dokumentaci k loginu nez je login.c a dalsi
soubory z util-linux, byl bych za ni vdecny. I za symbolicky popis toho, co
se deje pri prihlasovani, kdy a proc se vola jaka funkce z pam atd.
	Behem prihlasovani tcpdump nezachytil ani jeden paket bezici mimo
sit. Problemy s DNS jsou sice stale mozne, ale v tomto pripade to na ne
nevypada.
	Nameserver 127.0.0.1 se zaradil do dlouhe rady toho, co nepomaha.
Bohuzel nemuzu jenom tak prebootovat nebo zavest jednouzivatelsky rezim nebo
zrusit tisic uzivatelu v passwd, ale pokusim se o to.

-- 

--Zdenek <pytela na phil.muni.cz>



Další informace o konferenci Linux