Discussion:
Solaris i WCHAN.
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
Ponure Zacietrzewienie
2006-09-01 14:19:41 UTC
Permalink
Czy kolumna WCHAN produkowana przez 'ps -elf' jest w Solarisie 10
pusta z definicji, czy moze da sie ja jakos uruchomic? Ja wiem,
ze dtrace, mdb -k i rozne takie, ale przydalaby sie jakas prosta
i szybka metoda stwierdzenia, na co wlasciwie proces czeka.
--
If you cut off my head, what would I say? Me and my head, or me and my body?
Piotr KUCHARSKI
2006-09-01 16:09:56 UTC
Permalink
Post by Ponure Zacietrzewienie
Czy kolumna WCHAN produkowana przez 'ps -elf' jest w Solarisie 10
pusta z definicji, czy moze da sie ja jakos uruchomic?
Może po prostu nic Ci nie czeka? :>
Post by Ponure Zacietrzewienie
ale przydalaby sie jakas prosta
i szybka metoda stwierdzenia, na co wlasciwie proces czeka.
WCHAN COMMAND
32833d4edbc /services/apache/bin/httpd

No to już wiesz, na co proces czeka. :>

p.
--
http://freedns.sgh.waw.pl/ -- bezpłatny DNS.
http://nerdquiz.sgh.waw.pl/ -- polska wersja quizu dla nerdów.
http://42.pl/u/ -- skracacz URL-i.
Ponure Zacietrzewienie
2006-09-01 18:07:05 UTC
Permalink
Post by Piotr KUCHARSKI
Post by Ponure Zacietrzewienie
Czy kolumna WCHAN produkowana przez 'ps -elf' jest w Solarisie 10
pusta z definicji, czy moze da sie ja jakos uruchomic?
Może po prostu nic Ci nie czeka? :>
To bym mial load 41.

Opowiem sobie - czesciowo - sam. Kolumne 'wchan' trzeba podac
explicite, przez 'ps -eo wchan,comm'. Oczywiscie...
Post by Piotr KUCHARSKI
Post by Ponure Zacietrzewienie
ale przydalaby sie jakas prosta
i szybka metoda stwierdzenia, na co wlasciwie proces czeka.
WCHAN COMMAND
32833d4edbc /services/apache/bin/httpd
No to już wiesz, na co proces czeka. :>
... oczywiscie tego typu numerek nie mowi mi nic, w przeciwienstwie
do 'WCHAN' produkowanego przez fribzdowe 'ps axl'. Da sie ten
numerek jakos latwo zdekodowac?
--
If you cut off my head, what would I say? Me and my head, or me and my body?
Piotr KUCHARSKI
2006-09-01 22:52:16 UTC
Permalink
Post by Ponure Zacietrzewienie
Opowiem sobie - czesciowo - sam. Kolumne 'wchan' trzeba podac
explicite, przez 'ps -eo wchan,comm'. Oczywiscie...
Oh. Hehe. Dokładnie to zrobiłem, żeby popatrzeć. I nie zauważyłem,
że w zwykłym ps -ef są same znaki zapytania. :)
Post by Ponure Zacietrzewienie
Post by Piotr KUCHARSKI
WCHAN COMMAND
32833d4edbc /services/apache/bin/httpd
No to już wiesz, na co proces czeka. :>
... oczywiscie tego typu numerek nie mowi mi nic, w przeciwienstwie
do 'WCHAN' produkowanego przez fribzdowe 'ps axl'. Da sie ten
numerek jakos latwo zdekodowac?
Chyba nie. We FreeBSD mają dodatkowe pole, w którym trzymają te
lockf, wait itd.

Na Solarisie jest tylko adres zmiennej, która blokuje thread.

p.
--
http://freedns.sgh.waw.pl/ -- bezpłatny DNS.
http://nerdquiz.sgh.waw.pl/ -- polska wersja quizu dla nerdów.
http://42.pl/u/ -- skracacz URL-i.
Jakub Wartak
2006-09-02 09:07:12 UTC
Permalink
Post by Piotr KUCHARSKI
Post by Ponure Zacietrzewienie
Opowiem sobie - czesciowo - sam. Kolumne 'wchan' trzeba podac
explicite, przez 'ps -eo wchan,comm'. Oczywiscie...
Oh. Hehe. Dokładnie to zrobiłem, żeby popatrzeć. I nie zauważyłem,
że w zwykłym ps -ef są same znaki zapytania. :)
Post by Ponure Zacietrzewienie
Post by Piotr KUCHARSKI
WCHAN COMMAND
32833d4edbc /services/apache/bin/httpd
No to już wiesz, na co proces czeka. :>
... oczywiscie tego typu numerek nie mowi mi nic, w przeciwienstwie
do 'WCHAN' produkowanego przez fribzdowe 'ps axl'. Da sie ten
numerek jakos latwo zdekodowac?
Chyba nie. We FreeBSD mają dodatkowe pole, w którym trzymają te
lockf, wait itd.
Na Solarisie jest tylko adres zmiennej, która blokuje thread.
-bash-3.00# ps -Lelo pid,wchan,comm | grep uxwdog
100826 c7fff6b2 ./uxwdog

-bash-3.00# echo "::threadlist" | mdb -k | grep uxwdog
_c841b980_ c6814a68 c86ad5c0 uxwdog/1
(albo po prostu ::pgrep uxwdog)

-bash-3.00# mdb -k
Loading modules: [ unix krtld genunix specfs dtrace uppc scsi_vhci ufs ip
sctp arp usba fctl nca lofs zfs random sppp ptm cpc fcip nfs ]
Post by Piotr KUCHARSKI
_c841b980_::threadlist -v
ADDR PROC LWP CLS PRI WCHAN
c841b980 c6814a68 c86ad5c0 1 59 c7fff6b2
PC: 0xfe833988 CMD:
./uxwdog -e -d /var/opt/mps/serverroot/admin-serv/config
stack pointer for thread c841b980: c8808df8
swtch+0x1f6()
cv_timedwait_sig+0x159()
cv_waituntil_sig+0x77()
poll_common+0x41e()
pollsys+0x7c()
sys_sysenter+0x19e()

czyli na pollsys() w tym przypadku.
--
Jakub Wartak
http://vnull.pcnet.com.pl/
Piotr KUCHARSKI
2006-09-02 13:09:24 UTC
Permalink
Post by Jakub Wartak
Post by Piotr KUCHARSKI
Na Solarisie jest tylko adres zmiennej, która blokuje thread.
-bash-3.00# ps -Lelo pid,wchan,comm | grep uxwdog
100826 c7fff6b2 ./uxwdog
-bash-3.00# echo "::threadlist" | mdb -k | grep uxwdog
_c841b980_ c6814a68 c86ad5c0 uxwdog/1
No tak, threadlist. Miłe makro na Solarisie 10, na 9 nie jest
załadowane, a jakoś nie pomyślałem, żeby przejrzeć /usr/lib/adb. :)

Na Sol9 jest mniej wygodnie, bo trzeba adresu z wchan szukać ręcznie:
# echo "$<threadlist" | mdb -k | less
[...]
============== thread_id 3001513b7e0
0x30702fb38e9:
process args imaps
0x3001513b8f0: lwp procp wchan
307026558b8 30702fb3458 30089622612
0x3001513b818:
pc sp
cv_wait_sig+0x1702a102c64b01
str_cv_wait+0x2c(30089622612, 3a9be88f480, ffffffffffffffff, 0, ff112464,
ff196ed8)
strwaitq+0x23c(0, ffffffffffffffff, 0, 3a9be88f480, ffffffffffffffff,
2a102c65698)
kstrgetmsg+0xe50(1, 0, 2a102c657bb, 0, 10000010, 100)
sorecvmsg+0x178(1, 502, 0, 2a102c657a8, 0, 0)
sock_read+0x60(30014d68c90, 2a102c65970, 0, 30645d6f1a8, 0, 0)
read+0x2ac(46a, 30014d68c90, 5, ffffffffffffffff, 19000, ffbfecb4)
read32+0x38(0, 112740, 5, 0, 65730053, ff3f83bc)
syscall_trap32+0xa8(0, 112740, 5, 0, 65730053, ff3f83bc)
[...]

Eh, chyba w końcu się zmigruję na 10.

p.
--
http://freedns.sgh.waw.pl/ -- bezpłatny DNS.
http://nerdquiz.sgh.waw.pl/ -- polska wersja quizu dla nerdów.
http://42.pl/u/ -- skracacz URL-i.
Loading...