mirror of https://github.com/alibaba/arthas.git
Arthas dashboard 命令教程 (#1326)
* add dashboard command scenario. #847 Signed-off-by: hollowman6 <hollowman186@vip.qq.com> * fix link typo Signed-off-by: hollowman6 <hollowman186@vip.qq.com> * merge 'dashboard.md' and 'dashboard-usage.md' Signed-off-by: hollowman6 <hollowman186@vip.qq.com>pull/1364/head
parent
6df465f1cd
commit
a7856ffdc1
@ -0,0 +1,10 @@
|
||||
|
||||
|
||||
|
||||
|
||||
下载`arthas-demo.jar`,再用`java -jar`命令启动:
|
||||
|
||||
`wget https://alibaba.github.io/arthas/arthas-demo.jar
|
||||
java -jar arthas-demo.jar`{{execute T1}}
|
||||
|
||||
`arthas-demo`是一个很简单的程序,它随机生成整数,再执行因式分解,把结果打印出来。如果生成的随机数是负数,则会打印提示信息。
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
"title": "Arthas dashboard命令教程",
|
||||
"description": "Arthas dashboard命令教程",
|
||||
"details": {
|
||||
"steps": [
|
||||
{
|
||||
"title": "启动arthas-demo",
|
||||
"text": "arthas-demo.md"
|
||||
},
|
||||
{
|
||||
"title": "启动arthas-boot",
|
||||
"text": "arthas-boot.md"
|
||||
},
|
||||
{
|
||||
"title": "dashboard 命令",
|
||||
"text": "dashboard.md"
|
||||
},
|
||||
{
|
||||
"title": "dashboard 数据说明",
|
||||
"text": "notes-on-column-headers.md"
|
||||
}
|
||||
],
|
||||
"intro": {
|
||||
"text": "intro.md"
|
||||
},
|
||||
"finish": {
|
||||
"text": "finish.md"
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
"uilayout": "terminal"
|
||||
},
|
||||
"backend": {
|
||||
"imageid": "java",
|
||||
"environmentsprotocol": "http"
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
|
||||
|
||||
|
||||
|
||||
Download `arthas-demo.jar` and start with the `java -jar` command:
|
||||
|
||||
`wget https://alibaba.github.io/arthas/arthas-demo.jar
|
||||
java -jar arthas-demo.jar`{{execute T1}}
|
||||
|
||||
`arthas-demo` is a very simple program that randomly generates integers, performs factorization, and prints the results.
|
||||
If the generated random number is negative, a error message will be printed.
|
@ -0,0 +1,44 @@
|
||||
|
||||
The `dashboard`{{execute T2}} command allows you to view the real-time data panel of the current system.
|
||||
|
||||
When running in Apache Tomcat Alibaba edition, the dashboard will also present the real time statistics of the tomcat, including [QPS](https://en.wikipedia.org/wiki/Queries_per_second), RT, error counts, and thread pool, etc.
|
||||
|
||||
|
||||
```bash
|
||||
$ dashboard
|
||||
ID NAME GROUP PRIORITY STATE %CPU TIME INTERRUPTED DAEMON
|
||||
889 RMI TCP Connection(15)-30.10.166. RMI Runtime 9 RUNNABLE 48 0:5 false true
|
||||
1077 Timer-for-arthas-dashboard-0 system 9 RUNNABLE 24 0:0 false true
|
||||
1074 as-selector-daemon system 9 RUNNABLE 12 0:0 false true
|
||||
284 JMX server connection timeout 284 RMI Runtime 9 TIMED_WAITI 8 0:3 false true
|
||||
16 Timer-1 main 5 TIMED_WAITI 5 0:9 false true
|
||||
47 Pandora pandora-qos-reporter Pool main 5 TIMED_WAITI 0 0:0 false true
|
||||
48 JmonitorClient-CheckThread Pool [ main 5 TIMED_WAITI 0 0:0 false true
|
||||
49 JmonitorClient-HeartBeat Pool [Th main 5 TIMED_WAITI 0 0:0 false true
|
||||
50 JmonitorClient-ReaderThread Pool main 5 TIMED_WAITI 0 0:0 false true
|
||||
957 RMI TCP Connection(16)-30.10.166. RMI Runtime 9 RUNNABLE 0 0:2 false true
|
||||
51 JmonitorClient-WriterThread Pool main 5 TIMED_WAITI 0 0:0 false true
|
||||
52 ContainerBackgroundProcessor[Stan main 5 TIMED_WAITI 0 0:0 false true
|
||||
53 http-bio-8080-Acceptor-0 main 5 RUNNABLE 0 0:2 false true
|
||||
54 http-bio-8080-AsyncTimeout main 5 TIMED_WAITI 0 0:0 false true
|
||||
11 GC Daemon system 2 TIMED_WAITI 0 0:0 false true
|
||||
Memory used total max usage GC
|
||||
heap 59M 223M 1820M 3.26% gc.ps_scavenge.count 118
|
||||
ps_eden_space 14M 114M 668M 2.11% gc.ps_scavenge.time(ms) 1890
|
||||
ps_survivor_space 6M 6M 6M 96.08% gc.ps_marksweep.count 5
|
||||
ps_old_gen 39M 103M 1365M 2.86% gc.ps_marksweep.time(ms) 1140
|
||||
nonheap 234M 240M 0M 97.46%
|
||||
code_cache 46M 47M 240M 19.49%
|
||||
metaspace 167M 172M 0M 97.36%
|
||||
Runtime Tomcat
|
||||
os.name Mac OS X connector http-bio-8080
|
||||
os.version 10.10.5 QPS 0.00
|
||||
java.version 1.8.0_60 RT(ms) 1.13
|
||||
java.home error/s 0.00
|
||||
received/s 0B
|
||||
systemload.average 3.44 sent/s 0B
|
||||
processors 4 threadpool http-bio-8080
|
||||
uptime 16020s busy 0
|
||||
```
|
||||
|
||||
Enter `Q`{{execute T2}} or `Ctrl+C` to exit the dashboard command.
|
@ -0,0 +1,6 @@
|
||||
|
||||
Through this tutorial, you can know how to use Arthas `dashboard`. More advanced features can be found in the Advanced Guide below.
|
||||
|
||||
* [Arthas Advanced](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=arthas-advanced)
|
||||
* [Arthas Github](https://github.com/alibaba/arthas)
|
||||
* [Arthas Documentation](https://alibaba.github.io/arthas/en)
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
"title": "Arthas dashboard",
|
||||
"description": "Arthas dashboard",
|
||||
"details": {
|
||||
"steps": [
|
||||
{
|
||||
"title": "Start arthas-demo",
|
||||
"text": "arthas-demo.md"
|
||||
},
|
||||
{
|
||||
"title": "Start arthas-boot",
|
||||
"text": "arthas-boot.md"
|
||||
},
|
||||
{
|
||||
"title": "dashboard command",
|
||||
"text": "dashboard.md"
|
||||
},
|
||||
{
|
||||
"title": "Notes on column headers",
|
||||
"text": "notes-on-column-headers.md"
|
||||
}
|
||||
],
|
||||
"intro": {
|
||||
"text": "intro.md"
|
||||
},
|
||||
"finish": {
|
||||
"text": "finish.md"
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
"uilayout": "terminal"
|
||||
},
|
||||
"backend": {
|
||||
"imageid": "java",
|
||||
"environmentsprotocol": "http"
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
|
||||
|
||||
|
||||
![Arthas](https://alibaba.github.io/arthas/_images/arthas.png)
|
||||
|
||||
`Arthas` is a Java diagnostic tool open-sourced by Alibaba middleware team. Arthas helps developers in trouble-shooting issues in production environment for Java based applications without modifying code or restarting servers.
|
||||
|
||||
`Arthas` supports JDK 6+, supports Linux/Mac/Windows.
|
||||
|
||||
* Github: https://github.com/alibaba/arthas
|
||||
* Documentation: https://alibaba.github.io/arthas/en
|
@ -0,0 +1,22 @@
|
||||
|
||||
* *ID*: JVM thread ID, pls. note this ID is different from the nativeID in jstack
|
||||
|
||||
* *NAME*: thread name
|
||||
|
||||
* *GROUP*: thread group name
|
||||
|
||||
* *PRIORITY*: thread priority, ranged from 1 to 10. The greater number, the higher priority
|
||||
|
||||
* *STATE*: thread state
|
||||
|
||||
* *CPU%*: the ratio of CPU usage for the thread, sampled every 100ms
|
||||
|
||||
* *TIME*: total running time in minute:`second format`
|
||||
|
||||
* *INTERRUPTED*: the thread interruption state
|
||||
|
||||
* *DAEMON*: daemon thread or not
|
||||
|
||||
## Screenshot
|
||||
|
||||
![](https://alibaba.github.io/arthas/en/_images/dashboard.png)
|
Loading…
Reference in New Issue