Active Threads JBoss 7
Vericando Informações Sobre Memória e Threads Utilizando CLI no JBoss AS 7.1.1
Acredito que todo profissional que trabalhe com tecnologia sempre está a procura de performance para seus sistemas ou servidores. No ambiente JBoss em que trabalho sempre procuro verificar como está o consumo de memória, quantidade de threads utilizadas, número de sessões ativas entre outras coisas.
No JBoss AS 7 podemos utilizar o CLI para fazer um monitoramento básico mas que não deixa de ser importante e bem útil caso não esteja disponível nenhum recurso como RHQ Server (JON), Zabbix, etc.
Então vamos lá. Primeiro conecte-se ao CLI executando o script ${JBOSS_HOME}/bin/jboss-cli.sh -c.
Para pegar a quantidade de threads ativas execute:
[domain@localhost:9999 /] /core-service=platform-mbean/type=threading:read-resource(include-runtime=true) { "outcome" => "success", "result" => { "all-thread-ids" => [ 9L, (so deixei alguns ids como exemplo) 6L, 3L, 2L ], "thread-contention-monitoring-supported" => true, "thread-cpu-time-supported" => true, "current-thread-cpu-time-supported" => true, "object-monitor-usage-supported" => true, "synchronizer-usage-supported" => true, "thread-contention-monitoring-enabled" => false, "thread-cpu-time-enabled" => true, "thread-count" => 74, "peak-thread-count" => 122, "total-started-thread-count" => 143L, "daemon-thread-count" => 27, "current-thread-cpu-time" => 3500000L, "current-thread-user-time" => 3016000L } }
Informações sobre uso da memória:
[domain@localhost:9999 /] /core-service=platform-mbean/type=memory:read-resource(include-runtime=true) { "outcome" => "success", "result" => { "heap-memory-usage" => { "init" => 536870912L, "used" => 23390968L, "committed" => 535232512L, "max" => 1067057152L }, "non-heap-memory-usage" => { "init" => 12750848L, "used" => 45296920L, "committed" => 45355008L, "max" => 570425344L }, "object-pending-finalization-count" => 0, "verbose" => false } }
Informações sobre o sistema operacional:
[domain@localhost:9999 /] /core-service=platform-mbean/type=operating-system:read-resource { "outcome" => "success", "result" => { "name" => "Mac OS X", "arch" => "i386", "version" => "10.8.2", "available-processors" => 4, "system-load-average" => 1.58203125 } }
Informações que sobre as configurações do protocolo http:
[domain@localhost:9999 /] /subsystem=web/connector=http:read-resource(include-runtime=true) { "outcome" => "success", "result" => { "bytesReceived" => "0", "bytesSent" => "0", "enable-lookups" => false, "enabled" => true, "errorCount" => "0", "executor" => undefined, "max-connections" => undefined, "max-post-size" => 2097152, "max-save-post-size" => 4096, "maxTime" => "0", "name" => "http", "processingTime" => "0", "protocol" => "HTTP/1.1", "proxy-name" => undefined, "proxy-port" => undefined, "redirect-port" => 8433, "requestCount" => "0", "scheme" => "http", "secure" => false, "socket-binding" => "http", "ssl" => undefined, "virtual-server" => undefined } }
Podemos obter muitas mais informações utilizando o CLI, basta explorá-lo.
Espero que tenha ajudado.
Abs