I'm messing around with
Java. Ubuntu has a
write up. I choose
IcedTea:
apt-get install icedtea-java7-jdk
I also installed
mmake.
I'm revisiting the
Knock Knock server. Doing a SIGQUIT
kill (-3) causes it to
dump core and keep running:
$ java KKMultiServer > log
...
$ ps axu | grep java | grep -v grep
user 24050 0.5 0.3 1308620 12740 pts/22 Sl+ 15:24 0:00 java KKMultiServer
user 24071 2.0 0.3 1377796 15024 pts/20 Sl+ 15:25 0:00 java KnockKnockClient
user 24093 2.4 0.3 1378512 15456 pts/21 Sl+ 15:25 0:00 java KnockKnockClient
user 24113 4.3 0.3 1377708 15472 pts/19 Sl+ 15:25 0:00 java KnockKnockClient
$ kill -3 24050
$ ps axu | grep 24050 | grep -v grep
user 24050 0.0 0.3 1308620 12788 pts/22 Sl+ 15:24 0:00 java KKMultiServer
$ wc -l log
117 log
The stack trace output is interesting. It seemed to list each thread that the KKMultiServer had:
"KKMultiServerThread" prio=10 tid=0x00000000006e8400 nid=0x5e43 runnable [0x0000000041412000..0x0000000041412d90]
...
"KKMultiServerThread" prio=10 tid=0x00000000006e6400 nid=0x5e2f runnable [0x0000000041311000..0x0000000041311c10]
...
"KKMultiServerThread" prio=10 tid=0x00000000006d2400 nid=0x5e1b runnable [0x0000000041210000..0x0000000041210c90]
Then I see other runnable threads like the Low Memory Detector, Compiler Thread, Signal Dispatcher, Finalizer, Reference Handler, main, VM Thread and GC tasks. Each was waiting or runnable. It also prints Heap information. I came across
PSYoungGen.java when trying to make sense of it.
I found two stack trace articles from
Sun and
[0xCAFEFEED]. It's nice to see that people
find this useful.
No comments:
Post a Comment