10 2016 档案
摘要:首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用?也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 比如说,一个方法可能是这样定义的:Employee getEm
阅读全文
摘要:1. 测试环境 Ubuntu Server 10.01 2. 在服务器上安装 jstatd 组件 使用apt-get 命令安装 openjdk 即可 : Java代码 sudo apt-get install openjdk-6-jdk Java代码 Java代码 3. 在服务器上配置 jstatd
阅读全文
摘要:前言 最近一个项目部署在服务器上运行时出现了问题,经过排查发现是java内存溢出的问题,所以为了实时监控服务器java内存的情况,需要远程查看服务器上JVM内存的一些情况。另外服务器系统是CentOS 7 最小安装,没有图形化界面,不能采用vnc远程。所以只能通过VisualVM或者JConsole
阅读全文
摘要:Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。 使用方法 jmap -histo pid。如果使用SHELL ,可采用jmap -histo pid>a.l
阅读全文
摘要:1:echo $JAVA_HOME 使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径 [root@localhost ~]# java -version java version "1.7.0_65" OpenJ
阅读全文
摘要:jps 用来查看:基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。 与unix上的ps类似,用来显示本地有权限的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 使用jps时,不需要传递进程号做为参数。 Jps也可以显示远程系统上的JAVA进程,这需要远程服务上开启了jstat服务,以及RMI注及服务,不过常用都是对本地的JAVA进程的查...
阅读全文
摘要:http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html
阅读全文
摘要:我们使用jdk自带的jstack来分析。当linux出现cpu被java程序消耗过高时,以下过程说不定可以帮上你的忙:1.top查找出哪个进程消耗的cpu高 21125 co_ad2 18 0 1817m 776m 9712 S 3.3 4.9 12:03.24 java ...
阅读全文
摘要:我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了。我想列下我能想到的一个Java程序员会用到的常用工具。 一、编码工具 1.IDE:Eclipse或者IDEA,熟悉尽可能多的快捷键,《Eclipse常见快捷键列表》2.插件: (1) Findbugs,在release之前进行一次静态代码检查是必须的(2) Clover,关心你的...
阅读全文
摘要:为啥我们要学习Linux 技术的价值不在于这个技术有多么高超,而在于技术本身给我们带来什么价值,所以很多时候我们学习一个技术,不能盲目学,是为了使用这个技术,知道这个技术的使用场景,知道这个技术带来的便利性,我们才决定要深入学习。 linux特性:免费、稳定、性能好! 稳定: 1. 在PC机,安装的
阅读全文
摘要:Supervisor结构: 单点结构如图: 1. 初始化时,启动进程Supervisor,根据 Nimbus分配的任务情况触发启动/停用Worker Jvm进程! 2. 每个Worker进程启动一个 或 多个 Task线程,且 task必须 同属 一个topology应用!即Worker必须服务于单个Topology; 3. 整体分析:Supervisor节点运行多个JVM线程(非一个节点),包...
阅读全文