Michael Bartmann wrote:
> Everybody heathy?
> 
> If you operate a 24*7 production plant with a server like JBoss,
> you shurely care about the "health" of your server. Now in theory
> this is nearly trivial: we have JMX and friends.
> Any kind of monitoring can be done with it, but do we do? Of course
> a lot of aspects are application specific, and for the rest of it
> you may like to pull myserver:8080/jmx-console.
> 
> I still have some - trivial - thoughts about what could be done on the
> server side to faciliate things; and I post my thoughts here to
> collect some of your opinions on this (you care about health, do you?).
> 
> 1) Threadcount
> For me this is more or less a linux problem, allthough I found
> questionable things even on NT4. The problem is that the current
> thread count reported by the JVM is garbage. The best thing i can think
> of is traversing the threaddump and counting threads on the fly.

Why is the JVM thread count garbage?

> 2) Thread usage
> If you are not an expert on every single part of JBoss, it might be
> a detectives work to find out where all those nice threads in the
> threaddump come from.
> This is even more criticall, as we migrate to centrally managed thread
> pools, where its more easy to do it wrong (not naming them appropriate).
> Thread creation (and even pooling) doesn't come at no cost. I think
> it might be affordable to do some more bookkeeping (factory?)
> about how and when and from which part of the system (stacktrace?)
> threads get allocated. This information - if accessible via JMX - should
> give you a warm feeling.

I agree.  This is why I want a centrally managed thread factory (pool).

> 3) Memory usage
> I don't understand much of the JVM heap structure but I know of tools
> (e.g. JProbe) which which can provide you with information about each
> and every living object on the heap. These tools do at least use the
> JVM debugging API, I don't know if they need modified native classes
> to do so. If you do know, please let me know.

With JDK 1.4 we should be able to inspect the VM using the debugging 
APIs.  Do you want to figure out how?

http://java.sun.com/j2se/1.4/docs/guide/jpda/enhancements.html

> 4) History
> The current JBoss measures for counting threads and memory usage don't
> keep a history about thread usage in the past. With a monitoring tool
> online all the time we could solve the problem on the client side.
> It should be trivial to support this through a collection MBean on the
> server side. The interesting part comes with the persitence of this
> information? What to do after some crash (out of memory)?
> Perhaps log4j is the solution? Or do you favor database storage?
> (Even that could be done with log4j and appropriate Logger/Appender setup.
> 
> 5) Caches, pools and such
> I would prefer more control on caches, pools and containers. If everything
> is "done right" (with SoftReferences?) we should not fear out of memory due
> to bad configuration.
> But as I noticed on this list these aspects are on the TODO for Matrix2
> anyway.

Caches and pools are planed for a full rewrite in 4.0.

So do you want to start working on this stuff?

-dain



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to