Chinaunix首页 | 论坛 | 博客
  • 博客访问: 521181
  • 博文数量: 102
  • 博客积分: 950
  • 博客等级: 准尉
  • 技术积分: 1094
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-28 16:07
文章分类

全部博文(102)

文章存档

2020年(2)

2016年(5)

2015年(15)

2014年(25)

2013年(18)

2012年(19)

2011年(18)

我的朋友

分类: LINUX

2014-05-07 12:06:09

 

 

jstat看内存分配对象,内存区域的状况

首先在young Genaration ,然后 Old Genaration

 

持久层存放的是各自类,不会变化的东西

 

Eden -From-To 对象拷贝15次会

 

大的对象直接放到Old Genaration

分配线程和上层应用同时进行 -》并行GC ,实时回收,无停顿感

并发GC 需要暂停掉上层应用

 

用命令jstatGC的不同区域

jps找到namenode的进程号:

vmid=8154 = namenode的进程号

2000表示interval 两秒显示一次

5 显示5

-h 30 30行显示一次标头

Jstat –gcutil –h30 8154 1000

jstat -gcutil 8154 2000 5

S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
85.51   0.00  17.45  71.93  92.48     10    5.713     0    0.000    5.713
85.51   0.00  17.45  71.93  92.48     10    5.713     0    0.000    5.713
85.51   0.00  17.45  71.93  92.48     10    5.713     0    0.000    5.713
85.51   0.00  17.45  71.93  92.48     10    5.713     0    0.000    5.713

S0S1swap区域,就是From To区域

E Eden

O Old Genaration

YGC youngGC发生了多少次

YGCT youngGC发生了多少时间

FGCT 是整个Heap一起来做GC花费的时间

GCT GC的总时间 = YGCT+FGCT

java heap主要看O 是不是满了?或者FGC发生的次数非常频繁

 

改进程的参数,记录gc历史

 

jps –ml

 

 

看具体进程的线程栈thread dump情况

jstack pid >/tmp/pid.txt

还有一种方式是用 kill -3 $taskpid ,会在logstdout里打印stack信息


看子进程的gc详情log

mapred.child.java.opts
-Xmx200m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/tmp/@taskid@.child.gc

 

jmap/jhat 配合使用

jmap -dump:live,format=b,file=/tmp/jmap.dat $pid

jhat -J-Xmx4g jmap.dat

10分钟收不到mapreduce的输出时,会kill task

可以通过页面看看
ip:7000

 

 

 

ip:50060/tasklog?attemptid=attempt_201404051615_0002_m_000000_0

Streaming coredump

$ cat /proc/sys/kernel/core_pattern   
core

在当前路径打印core文件

可以改成/tmp/core

echo /tmp/core > /proc/sys/kernel/core_pattern     

strace

跟踪已经启动的pid

 strace -fF -p 16246 -o /tmp/strace.log

跟踪新启动的进程

strace -fF -o /tmp/strace.log 启动命令

iostat -x 1

nload 

iptraf

netstat -ant 

Recv 高表示本机有问题,无法处理其他机器发过来的网络消息

Send 高表示对方的机器来不及接受包,一直堆积在这里

 

tcpdump -nn -i eth0 -xX -s 0 tcp and port 2181

-nn 不反解析dns

-xX 不读取包内容

-s 0 指定每个包取多少字节,0表示无上限默认128字节

 

阅读(1048) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~