Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Solaris i WCHAN.

3 views
Skip to first unread message

Ponure Zacietrzewienie

unread,
Sep 1, 2006, 10:19:41 AM9/1/06
to
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

unread,
Sep 1, 2006, 12:09:56 PM9/1/06
to
Ponure Zacietrzewienie <trasz...@buziaczek.pl> wrote:
> 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? :>

> 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

unread,
Sep 1, 2006, 2:07:05 PM9/1/06
to
Piotr KUCHARSKI <cho...@sgh.waw.pl> wrote:
> Ponure Zacietrzewienie <trasz...@buziaczek.pl> wrote:
>> 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...

>> 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?

Piotr KUCHARSKI

unread,
Sep 1, 2006, 6:52:16 PM9/1/06
to
Ponure Zacietrzewienie <trasz...@buziaczek.pl> wrote:
> 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. :)

>> 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.

Jakub Wartak

unread,
Sep 2, 2006, 5:07:12 AM9/2/06
to
Piotr KUCHARSKI wrote:

> Ponure Zacietrzewienie <trasz...@buziaczek.pl> wrote:
>> 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. :)
>
>>> 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 ]
> _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

unread,
Sep 2, 2006, 9:09:24 AM9/2/06
to
Jakub Wartak <spa...@drzewo.n0sp4m.pl> wrote:
>> 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.

0 new messages