前言 最近一个项目部署在服务器上运行时出现了问题,经过排查发现是java内存溢出的问题,所以为了实时监控服务器java内存的情况,需要远程查看服务器上JVM内存的一些情况.另外服务器系统是CentOS 7 最小安装,没有图形化界面,不能采用vnc远程.所以只能通过VisualVM或者JConsole来远程JVM. 环境介绍 1. 服务器:CentOS 7(最小安装) ip:192.168.22.249(示例) jdk:1.8 2. 客户端:Windows jdk:1.8 介绍两个jdk1.8自带…
使用Java自带的jvisualvm调试Java程序,可以查看CPU.内存.类及线程等信息,还可以进行Dump,无疑是一个利器 由于客户端是Windows.服务端是Linux,并且是最小安装的Linux,没有图形界面,因此需要进行远程调试 一.客户端:Windows 打开%JAVA_HOME%/bin/jvisualvm.exe,在“远程”节点,右键,“添加远程主机”,如下所示: 输入主机IP地址,修改显示名,点击确定,如下所示: 二.服务端:Linux 在$JAVA_HOME/bin/下新建策…
配置好权限文件 [root@test bin]# cd $JAVA_HOME/bin [root@test bin]# vim jstatd.all.policy grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; }; 执行命令启动 jstatd -J-Djava.security.policy=jstatd.all.policy 查看1099端口是…
来源于xuwanbest的博客   所谓"工欲善其事,必先利其器",好的工具确能起到事半工倍的作用.我用到的最多的就两个JConsole 和JProfiler .JConsole监控系统内存变化情况,如果有内存溢出的话,垃圾回收将会呈现锯齿状.发现问题以后,使用JProfiler,在小压力(或无压力)的情况下监控对象变化,定位内存溢出原因.   JProfiler是一款Java的性能监控工具.可以查看当前应用的对象.对象引用.内存.CPU使用情况.线程.线程运行情况(阻塞.等待等),同…
linux 下 tomcat 运行报错 Broken pipe 感谢:http://hi.baidu.com/liupenglover/blog/item/4048c23ff19f1cd67d1e7184.html 有可能是linux的线程机制会产生JVM出错的问题,特别是在连接高峰期间经常出现这样的问题,tomcat在linux下也出现类似情况. 解决办法是在环境变量中设置: _JAVA_SR_SIGNUM = 12 基本就可以解决. 在WIN环境变量中设置: _JAVA_SR_SIGNUM=…
JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!) 1.文件准备: 服务器:CentOS Linux release 7.3.1611 (Core)     Apache Tomcat/7.0.81,Oracle JDK Java1.7.0_79        jprofiler_linux_9_2_1.rpm for linux(安装包:jprofiler_linux_9_2_1.rpm)   客户端:Windows XP, jprofiler_window…
linux下编译运行TIGL Viewer步骤(仅为了正确编译安装的话直接跳到步骤3) 1. linux发行版选择:由于linux发行版众多,不同版本包含的库版本可能存在差别,因此需要选择正确的版本.由于在openCascade推荐使用的发行版列表中,对Ubuntu比较熟悉,所以选用ubuntu.(其他发行版的包安装方式与ubuntu有较大差别,不熟悉的话会比较麻烦) 2. ubuntu版本选择:虽然openCascade推荐使用ubuntu13.04版本,但因为13.04非长期支持版,所以使用…
LR通过snmp监控linux下的mysql 在linux底下安装配置snmp: 1.使用系统盘安装rpm包(这种方式最好) 2.在www.net-snmp.org处下载net-snmp安装(安装后有可能找不到snmpd.conf文件) tar xzvf  net-snmp-5.4.2.1.tar.gzcd  net-snmp-5.4.2.1./configure这里会叫你输入一些信息,其中有一步(好像是第二步)是问要安装什么版本:1.2.3,输入2回车其它都直接回车就可以makemake in…
linux下编译运行驱动 嵌入式linux下设备驱动的运行和linux x86 pc下运行设备驱动是类似的,由于手头没有嵌入式linux设备,先在vmware上的linux上学习驱动开发. 按照如下方法就可以成功编译出hello world模块驱动. 1.首先确定本机linux版本 怎么查看Linux的内核kernel版本? 'uname'是Linux/unix系统中用来查看系统信息的命令,适用于所有Linux发行版.配合使用'uname'参数可以查看当前服务器内核运行的各个状态. #uname…
基本是跟着网上的操作进行的,除了遇到一个Local host name unknown的问题: 一.Linux服务器操作部分 服务器地址:10.64.111.68 首先配置JMX: 1.找到jdk目录 [root@C68 demo]# echo $JAVA_HOME /root/demo/jdk1.8.0_60 2. cd 到/root/demo下的tomcat的bin目录下 [root@C68 bin]# vi catalina.sh 添加如下参数: JAVA_OPTS='-Dcom.sun.…