linux下分析Java程序内存汇总】的更多相关文章

使用pmap查看进程内存 执行命令 使用pmap能够查看某一个进程(非java的也能够)的内存使用使用情况, 命令格式: pmap 进程id 演示样例说明 比如执行: pmap 12358 显示结果例如以下图(内容较多, 分成几张图说明): 内容開始部分 内容结束部分 上图中, 第一列.内存块起始地址 第二列.占用内存大小 第三列,内存权限 第四列.内存名称.anon表示动态分配的内存,stack表示栈内存 最后一行.占用内存总大小,请注意,此处为虚拟内存大小,占用的物理内存大小能够通过top查…
一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲CPU百分比.当空闲CPU百分比越低,说明CPU占用率越高. 2)目前针对Linux下java进程占用CPU高的分析手段主要为使用linux命令查出高CPU使用的进程,前分析其是由于进程原因还是系统原因,在分析出为进程消耗过高CPU后列出占用CPU高和占用时间最长的线程并使用jdk自带的jstack…
在linux下编译java程序,执行javac编译生成class文件时,在centos7终端输入如,javac hello.java    会提示未找到指令,但用java -verison测试环境变量是没问题的 百度了好久,说的很复杂,重新再linux配置环境变量,输入 vi /etc/profile进入,添加以下代码: export JAVA_HOME=/usr/local/jdk1.8.0_144 export PATH=$JAVA_HOME/bin:$PATH export CLASSPA…
毕业时写了一段时间的C,那时候调试使用gdb,后来转了java,当时就想java程序怎么调试,找了一下,果然,那就是jdk自带的jdb windows里是这样的 Linux下是这样的 一般我在linux下来调试Java程序 好,那么,问题来了,这玩意怎么用?有好几种玩法 第一种玩法:以经典的HelloWorld为例,先写一个Java程序,如下: 我们把编译好的类上传到linux下,如下所示 务必强调一下:类所在的包名的层次结构也要在linux下体现出来 下面我们来玩起来,在linux下操作如下…
参考了http://www.cnblogs.com/howard-queen/archive/2012/01/30/2331795.html 第一步:用vim先写一个java程序  first.java  就写在jdk的bin目录下 public class first{ public static void main(String args[]){ System.out.println("This is my first program."); } } 第二步:./javac /us…
通过日志看不出来的问题,可以通过看java的堆栈信息(dump文件)来看出一些端倪. 1. 找java的进程id.jdk/bin的目录 ps -ef | grep java 2. cd 到bin的目录,执行jstack命令 ./jstack [pid]    需要在catalina_yyyy-MM-dd.log里面看dump信息 ./jstack -l -F [pid]  强制打印栈信息,可以在console中看dump信息 参数: -F   当’jstack [-l] pid’没有相应的时候强…
原文地址:http://www.voidcn.com/article/p-yehrvmep-uo.html 思路如下:Linux系统中可以用top命令查看进程使用CPU和内存情况,通过Runtime类的exec()方法执行命令"top",获取"top"的输出,从而得到CPU和内存的使用情况. 使用top命令获取系统信息: top -b -n -1 | sed -n '3p'(使用sed命令将top输出内容中的第三行打印出来) %Cpu(s):  6.5 us,  2…
转自:http://www.iteye.com/topic/528230 java程序内存主要分为了2个部分,包括stack segment(栈内存区).heap segment(堆内存区). 在分析Java程序内存分配情况时,我们从下面这个经常被使用的例子开始吧. 下面程序将打印什么呢? String s1 = new String("abc"); String s2 = new String("abc"); System. System. 可能大家心中已经有答案…
#!/bin/sh #该脚本为Linux下启动java程序的通用脚本.即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用. # #Author: tudaxia.com, Date: 2011/6/7 # #警告!!!:该脚本stop部分使用系统kill命令来强制终止指定的java程序进程. #在杀死进程前,未作任何条件检查.在某些情况下,如程序正在进行文件或数据库写操作, #可能会造成数据丢失或数据不完整.如果必须要考虑到这类情况,则需要改写此脚本,…
linux 下检查java jar包 程序是否正常 shell http://injavawetrust.iteye.com BATCH_SERVER="batch.jar" NR=`ps -ef | grep "${BATCH_SERVER}" | grep -v grep | wc -l`if [ "$NR" -eq 1 ]then        echo "服务正常"else        echo "服务异常…