如何jvm监控linux服务器,第1张

如何配置visualvm监控

visualvm支持在Linux和windows上启用图形界面监控jvm的资源,但是如何可以使我们在windows上监控到远程linux服务器资源,这还需要做一些配置,此文是在原文基础上做了更改的,希望对大家能有所帮助。

(1)首先要修改JDK中JMX服务的配置文件,以获得相应的权限:

进入$JAVA_HOME所在的根目录的/jre/lib/management子目录下,

a 将jmxremotepasswordtemplate文件复制为jmxremotepassword

b 调整jmxremoteaccess和jmxremotepassword的权限为只读写,可以使用如下命令

chmod 600 jmxremoteaccess jmxremotepassword

c 打开jmxremotepassword文件,去掉

# monitorRole QED

# controlRole R&D

这两行前面的注释符号

(2)修改envsh

打开envsh文件,并在JVM的启动配置中添加如下信息:

JAVA_OPTS="-Dcomsunmanagementjmxremoteport=1099 -Dcomsunmanagementjmxremotessl=false -Dcomsunmanagementjmxremoteauthenticate=false -Djavarmiserverhostname=1020150218 其他配置”

这几个配置的说明如下:

-Dcomsunmanagementjmxremoteport:这个是配置远程connection的端口号的,要确定这个端口没有被占用

-Dcomsunmanagementjmxremotessl=false -Dcomsunmanagementjmxremoteauthenticate=false:这两个是固定配置,是JMX的远程服务权限的

-Djavarmiserverhostname:这个是配置server的IP的,要使用server的IP最好在机器上先用hostname –i看一下IP是不是机器本身的IP,如果是127001的话要改一下,否则远程的时候连不上,目前我们的server上我已经都改好了

(3)Windows客户端配置

JDK 16版本自带visualvm,只需要进到bin目录下启动即可

启动后页面比较简洁,配置也很简单:

a 点击左侧菜单的add Remote host,输入server的IP,然后再advanced settings里配置端口(注意这个端口要和server上的端口一致)

b 右击刚才配置的IP,选择JMX connection方式,再次输入端口,就可以监视到JVM资源了

使用dstat工具,一般Linux发行版自带,可以监控统计CPU使用最高的进程

例如

dstat --top-cpu 2

每2秒显示一次CPU使用最多的进程

把这个重定向到一个文件就能事后分析了

dstat功能很多,可以查下资料

vmstat 1,文本显示,1代表1s刷新一次

想要曲线的话,把vmstat的结果保存到文本里,然后切到excel下绘图

如果不需要那么短的周期,可用cacti,通过snmp调用,5分钟一个周期。

 公司使用的服务器是linux的操作系统,之前很长一段时间监控系统参数都是使用top等linux命令来监控

  这样做的好处

  1可以非常容易的监控的系统的状态

  2实时性非常强

  不足之处

  1不能和loadrunner其他的图表进行合并,造成了很难在事后分析出系统的问题

  2监控系统的数据无法直接保存,供下次参考使用

  最近终于说服了公司的sa,让我能在性能测试环境做必要的设置,因为之前sa一直认为我要做的事情会对系统的安全性造成影响。

  现在我来介绍一下如何在linux设置来完成loadrunner对服务器性能的监控

  A验证服务器上是否配置了rstatd守护程序

  1 rup 127001

  2find / -name rpcrstatd

  3/usr/sbin/rpcinfo -p

  B下载rpcrstatd

  http://sourceforgenet/projects/rstatd

  C打开端口映射

  1执行 setup命令

  这时会弹出一个类似图形化的界面,光标移动到System services,回车。在新界面中找到portmap项,空格选中。然后选择OK,再选择quit。

  2/etc/rcd/initd/portmap start //启动portmap

  D编译安装rstatd

  /configure

  make all-am

  make install-am

  E起rstatd服务

  /usr/local/sbin/rpcrstatd

  F安装xinetd服务

  yum install xinetdi386

  /sbin/service xinetd restart

  好了,liunx中的设置基本上都已经设置完了,接下来只要到loadrunner中加上对相应服务的监控就可以了

对于远程监控Linux主机系统CPU,内存使用情况,以前也使用了top等命令,但是最后还是觉得使用vmstat比较好

运行top命令获得系统CPU使用情况有两个缺点,

第一运行top命令,执行的shell语句相对复杂

用top命令获得CPU使用情况的shell语句

top -b -n 2 | grep Cpu |sed 1d | awk '{print $5}' | cut -f 1 -d ""

第二:有时候系统峰值时间很短暂,容易造成误判

注意:运行本例子,你还需要下载第三方ganymed-ssh2-build251beta1jar,改软件主要用于通过ssh远程登录被监控主机

ITjob上。看。的

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何jvm监控linux服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情