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. 安装、配置、启动FTP、SSH或NFS服务

    (1)准备使用软件维护工具apt-get. Ubuntu7.10中没有安装FTP.SSH.NFS服务器软件,它提供了一个很方便的安装.升级.维护软件的工具apt-get.apt-get从光盘.网络上下 ...

  2. 安装Eclipse环境

    1.下载安装JDK,并设置环境变量 2.下载Eclipse,官网下载地址:http://www.eclipse.org/downloads/ 选择相应版本,我选的是Windows 64bit 3.下载 ...

  3. android 属性动画

    一直再追郭霖的博客和imooc上的一些新的视频,最近有讲到属性动画. 以下内容为博客学习以及imooc上视频资料的学习笔记: 在3.0之前比较常见的动画为tween动画和frame动画: tween动 ...

  4. 做环信聊天布局时遇到的问题(UITextView自适应高度和光标位置不正常)

    聊天时UITextView发送消息超过最大高度后点击发送按钮同时将文本清空,光标的位置偏离了正常的轨迹.如图 后研究发现UITextView向上滚动的时候,contentOffset.y都会发生改变, ...

  5. linux 架设 postfix 邮件服务器

    http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html

  6. IE10以下的placeholder不兼容问题

    $(function(){ if(!placeholderSupport()){   // 判断浏览器是否支持 placeholder     $('[placeholder]').focus(fun ...

  7. 中文输入法不触发onkeyup事件的解决办法

    当监听一个input的keyup的事件的时候,英文输入法的情况下可以实时的通过keyup事件检测到文本框value的变化,但是当输入法变成中文后,input的keyup事件就不会被正常触发. 方法:o ...

  8. ActiveMQ-CPP编译

    1.activemq-cpp下载地址: http://activemq.apache.org/cms/download.html 2.相关依赖库 http://mirrors.hust.edu.cn/ ...

  9. CREATE SCHEMA

    CREATE SCHEMA 创建一个架构,即命名空间,在这个空间中可以进一步定义包含表.视图和权限定义等对象. 语法 CREATE SCHEMA AUTHORIZATION owner    [ &l ...

  10. ASP.NET中使用Server.Transfer()方法在页间传值 实例

    以下代码在VS2008中测试通过 <%@ Page Language="C#" AutoEventWireup="true" CodeFile=" ...