通过如下命令可以成功启动jstatd server
./jstatd -J-Djava.security.policy=http://www.likecs.com/home/intsmaze/jdk1.8.0_144/bin/jstatd-all.policy -J-Djava.rmi.server.logCalls=true ./jstatd -J-Djava.security.policy=http://www.likecs.com/home/intsmaze/jdk1.8.0_144/bin/jstatd-all.policy & 向通过jstatd命令启动的JVM(Main class:sun.tools.jstatd.Jstatd)传递参数,比如-J-Xms48m指定了Jstatd这个JVM的初始堆内存为48MB右键选择建立jstatd连接
对应的远程主机节点下会自动列出所有运行的JVM
JMX连接与JStatD连接的区别
JMX:使用JMX需要远程JVM在启动的时候开启远程访问支持,设定JMX端口等,每一个JMX连接一个远程JVM。
JStatD:使用jstatd连接方式时,需要在远程主机上创建安全策略文件然后启动jstatd进程,并且此进程需要一直保持运行状态,客户端可以看到远程主机上当前用户的所有JVM的信息,即只要创建一个jstatd连接。
如果我们不配置JMX和jstatd,那么我们无法使用jvisiualVM去监控远程JVM程序,要知道程序的运行状态我们必须连上服务器去查看。
top命令查看各进程CPU占用率 [intsmaze@centos-Reall-131 ~]$ top top - 13:04:07 up 3 min, 2 users, load average: 0.00, 0.01, 0.00 Tasks: 104 total, 1 running, 103 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2086348k total, 224720k used, 1861628k free, 37484k buffers Swap: 2064376k total, 0k used, 2064376k free, 91204k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 385 root 20 0 0 0 0 S 0.3 0.0 0:00.02 flush-8:0 2211 intsmaze 20 0 858m 25m 9448 S 0.3 1.2 0:00.87 java第一行:load average: 0.41, 0.45, 0.43 系统负载,即任务队列的平均长度。1分钟前、5分钟前、15分钟前平均负载
第二行:Tasks: 141 total 进程总数,0 zombie 僵尸进程数
第三行为cpu信息
6.1% us 用户空间占用CPU百分比
1.5% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
92.2% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0% hi 硬件中断
0.0% si 软件中断
0.0%st 实时
第四、五行为内存信息。
Mem: 191272k total 物理内存总量
22052k buffers 用作内核缓存的内存量
Swap: 192772k total 交换区总量
123988k cached 缓冲的交换区总量