On Solaris and Linux a thread dump is also printed if the J2SE process receives a QUIT signal. So kill
-QUIT <pid> causes the process with id <pid> to print a thread dump to its standard output.
or

kill -3 <pid>

java问题定位和诊断
post-mortem事后剖析,验尸

hs_err_<pid>.log致命错误日志
-XX:OnError指定崩溃时执行的脚本,这是可以强制做dump
-XX:+ShowMessageBoxOnError让进程停下来,启动gdb等
jinfo获得配置信息
jmap共享对象列表,-heep,-histo,-permstat

死锁或挂起
jstack
jdb

性能和资源消耗
jconsole
jstat

HPROF Profiler动态库jvm ti接口
jhat

-XX:+HeapDumpOnOutOfMemoryError工作目录下输出文件java_pid<pid>.hprof
-XX:HeapDumpPath=
-XX:+HeapDumpOnCtrlBreak
-XX:+PrintClassHistogram
-Xcheck:jni

-verbose:gc可以用管理api或jvmti动态使能
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps

-verbose:class为类加载或卸载写日志
-verbose:jni

java -agentlib:hprof=heap=sites ToBeProfiledClass
java -agentlib:hprof=help
javac -J-agentlib:hprof=heap=sites Hello.java
java -agentlib:hprof=file=dump.hprof,format=b <Application>java5update7以后都不需要这样自麻烦了,用选项-XX:+HeapDumpOnCtrlBreak;如果不能在命令行指定,可以用环境变量指定:
JAVA_TOOL_OPTIONS
java.security.debug System Property

ltrace动态库调用
mtrace内存分配
strace系统调用

Exception in thread “main” java.lang.OutOfMemoryError: Java heap space

配置太少内存导致堆的某个部分不够分配,也可能是交换空间不够大导致系统的内存用尽,并不一定是内存泄露。有finalizer方法的对象在gc后被放在一个队列,有个专门线程会回收它,但是如果产生对象的线程高优先级,导致产生的速度大于回收速度也可能导致ooe。

Exception in thread “main” java.lang.OutOfMemoryError: PermGen space

-XX:MaxPermSize

String.intern()也会用掉永久代空间

Exception in thread “main” java.lang.OutOfMemoryError: Requested array size exceeds VM limit

Exception in thread “main” java.lang.OutOfMemoryError: request <size> bytes for <reason>. Out of swap space?
Exception in thread "main" java.lang.OutOfMemoryError: <reason>
        <stack trace>(Native method)
A crash instead of an OutOfMemoryError这是因为本地方法分配内存失败并且没检查返回值
-Xshare:off 关闭类数据共享

-Xrs

kill -QUIT <pid>的更多相关文章

  1. linux 终端报错 Out of memory: Kill process[PID] [process name] score问题分析

    从Out of memory来看是内存超出了,后面的 Kill process[PID] [process name] score好像和进程有关了,下面我们就一起来看看linux 终端报错 Out o ...

  2. linux/windows 下kill某个pid的进程

    [linux环境] 方法1:截取进程pid,再kill ps -ef | grep java.endorsed.dirs | grep -v grep | cut -c10-15 | xargs ki ...

  3. 命令格式 kill -3 pid

    命令格式 kill -3 pid 作用 打印进程号为pid的进程中,每个线程的执行日志 到 nohup文件 中,如果nohup的输出做了重定向,那么输出到重定向以后的文件中. 命令格式 top -Hp ...

  4. kill -3 PID命令获取java应用堆栈信息

    一.应用场景: 当linux服务器出现异常情况(响应缓慢,负载持续飙升)并且服务器没有安装对应的包而无法使用jstack等命令时,可以使用linux的kill相关命令打印堆栈信息. 命令格式:kill ...

  5. linux下kill -9 pid 强制不能杀掉进程原因

    今天安装集群的时候,发现一个进程一直存在,kill -9 pid  也干不掉,就找找原因了. kill -9发送SIGKILL信号将其终止,但是以下两种情况不起作用:a.该进程处于"Zomb ...

  6. kill -HUP pid 更改配置后不重新启动服务,动态更新配置文件

    kill -HUP pid kill -HUP pid  pid 是进程标识.如果想要更改配置而不需停止并重新启动服务,请使用该命令.在对配置文件作必要的更改后,发出该命令以动态更新服务配置. 根据约 ...

  7. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  8. kill 根据PID终止进程

    根据PID终止进程 kill [option] PID-list kill 通过向一个或多个进程发送信号来终止进程.除超级用户外,只有进程的所有者才可以对进程执行kill 参数 PID-list为ki ...

  9. linux操作系统下,怎么使用kill按照PID一次杀死多个进程

    1.ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9 说明:“grep firefox”的输出结果是,所有含有关 ...

随机推荐

  1. lua: Learning Official Doc notes

    dynamically typed vars: basic types: nil, boolean, number, string, function, userdata, thread & ...

  2. Java动态绑定的内部实现机制

     JAVA虚拟机调用一个类方法时,它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法.相反,当虚拟机调用一个实例方法时,它会基于对象实际的类型(只能在运行时得知)来选择所调用的方法,这就是动 ...

  3. 键盘虚拟键值编码表 使用keybd_Event

    键盘虚拟键值编码表 使用keybd_Event 模拟键盘输入首先要用到一个API函数:keybd_event. 我们是菜鸟,所以不必具体去理解它的详细用法,只要按以下方法使用即可了!呵呵! 模拟按键有 ...

  4. NGUI插件的一个扩展---NGUI_HUD_Text

    NGUI_HUD_Text扩展主要用于主角跟随和伤害/治疗的功能. 场景大概是这样的,我们希望有一个主角,在其头顶显示他的名字,在单击鼠标左键的时候显示红色的“-10”表示减少血量,单击鼠标右键的时候 ...

  5. Html5中的本地存储

    Web Storage web storage页面存储是html5为数据存储在客户端提供的一项重要功能,由于web storage API能够区分会话数据与长期数据.因此,相应API也分为两种: se ...

  6. Java静态语句块、语句块、构造方法执行顺序

    package com.imooc.practice; class Parent{ public Parent(){ System.out.println("Parent构造方法执行!&qu ...

  7. Django:之Sitemap站点地图、通用视图和上下文渲染器

    Django中自带了sitemap框架,用来生成xml文件 Django sitemap演示: sitemap很重要,可以用来通知搜索引擎页面的地址,页面的重要性,帮助站点得到比较好的收录. 开启si ...

  8. 昨天上架出现问题,you binary is not optimized for iphone5.。。。。

    这个时候只需要加一个lanuch image 就可以了

  9. Google 分布式关系型数据库 F1

    F1是Google开发的分布式关系型数据库,主要服务于Google的广告系统.Google的广告系统以前使用MySQL,广告系统的用户经常需要使用复杂的query和join操作,这就需要设计shard ...

  10. rs.Open sql,conn,0,2,1

    例子:rs.Open sql,conn,0,2,1 CursorType = 0,默认值,打开仅向前类型游标.LockType = 2, 开放式锁定Options = 1, 指示 ADO 生成 SQL ...