主要可能的原因: 1,eden区太小,eden和survivor默认比例是8:12,old区太小,新生代和老年代的比例也可以调节的.3,是否程序会分配很多短期存活的大对象,程序本身是否有问题? 进入老年区的影响因素不只是一个survivor啊.还有对象大小,存活次数,新生区老年区大小等因素.单纯改survivor大小有点盲目.还有你只是单纯的觉得full gc频繁,那你综合分析过没.是否在你压测配置的资源情况下,其实已经达到最优了?另外还可以通过其他工具检测下都是哪些对象在占用大量内存资源.  …
1. 问题的出现过程 最近博主自己用的 windows10 系统就碰到了这个问题. 一开始出现这个问题的征兆是鼠标会时不时地卡顿,一出现卡顿就会等个 1-3秒才能动.然后频繁卡顿(注意,这里根据经验就怀疑是硬盘读写有问题,但不一定是物理损坏,而有可能是驱动) 然后这个现象持续了大概有20分钟左右(此时我电脑上还跑着虚拟机任务,大量浏览器窗口,编辑器 和 SSH等等),终于卡的不能动了,然后就屏幕一黑. 注意,此时千万不要心急直接长按关机键重启,即使系统出了点问题也不代表就是不可恢复的问题,而如果…
Linux 系统有时因为软件不兼容或未知 bug,导致系统假死.比如我的 Ubuntu 14.04 最近使用 vscode 时偶尔会导致系统假死,即鼠标可以移动,但点击无反应. 此时可试试如下解决方案: 1. 进入 TTY 模式 - Ctrl + Alt + F1  登录 TTY 模式 - 输入 top 查看导致系统假死的进行 PID,直接 sudo kill xxx - exit 退出 TTY 模式 - Ctrl + Alt + F7 回到图形接口模式 2. 终极解决方案 reisub - 左…
大部分半卡死的现象是因为Dynamic Tick的一个Bug.Dynamic Tick是NT 6.2内核的一个新功能(其实Linux早就有了),原理的话大概是在空闲的时候把CPU完全暂停,来节省电量.但是貌似这个技术还不是很成熟,对“空闲”的判断有时候会出错,所以正常使用的时候CPU也可能会暂停,出现假死.RP出过一个补丁修复过一次,但是貌似还是没有完全修复. 解决办法就是把它关掉,关掉之后内核的行为就回到Win7的样子了.所以还是会和Win7一样费电,但是应该就不会假死了. 关闭的方法:用管理…
1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常的分析并且第一时间保留现场快照. 1.2编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台tomcat的应用出现了无法访问情况.简单描述下该台tomcat当时具体的表现:客户端请求没有响应,查看服务器端tomcat的进程是存活的,查看业务日志的时候发现日志停止没有任何最新的访问日志.连tomcat下面的catalina.log也没有任何访问记录,基本断定该台tomcat已不能提供服务.…
1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常的分析并且第一时间保留现场快照.1.2编写背景最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台tomcat的应用出现了无法访问情况.简单描述下该台tomcat当时具体的表现:客户端请求没有响应,查看服务器端tomcat的进程是存活的,查看业务日志的时候发现日志停止没有任何最新的访问日志.连tomcat下面的catalina.log也没有任何访问记录,基本断定该台tomcat已不能提供服务.2 分…
摘自: http://www.myexception.cn/internet/2044496.html 分析java进程假死情况 1 引言 1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常的分析并且第一时间保留现场快照. 1.2编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台tomcat的应用出现了无法访问情况.简单描述下该台tomcat当时具体的表现:客户端请求没有响应,查看服务器端tomcat的进程是存活的,查看业务日志的时候发…
1 编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台tomcat的应用出现了无法访问情况.简单描述下该台tomcat当时具体的表现:客户端请求没有响应,查看服务器端tomcat的进程是存活的,查看业务日志的时候发现日志停止没有任何最新的访问日志.连tomcat下面的catalina.log也没有任何访问记录,基本断定该台tomcat已不能提供服务. 2 分析步骤 根据前面我描述的假死现象,我最先想到的是网络是否出现了问题,是不是有什么丢包严重的…
1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常的分析并且第一时间保留现场快照. 1.2编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台tomcat的应用出现了无法访问情况.简单描述下该台tomcat当时具体的表现:客户端请求没有响应,查看服务器端tomcat的进程是存活的,查看业务日志的时候发现日志停止没有任何最新的访问日志.连tomcat下面的catalina.log也没有任何访问记录,基本断定该台tomcat已不能提供服务.…
1.什么是假死 所谓假死,就是能ping通,但是ssh不上去:任何其他操作也都没反应,包括上面部署的nginx也打不开页面. 2.假死其实很难出现一次 作为一个多任务操作系统,要把系统忙死,忙到ssh都连不上去,也不是那么容易的.尤其是现在还有fd保护.进程数保护.最大内存保护之类的机制. 你可以fork很多进程,系统会变得很慢,但是ssh还是能连上去:你可以分配很多内存,但是内存多到一定程度oom killer就会把你的进程杀掉,于是ssh又能工作了. 3.假死是如何实现的 有一个确定可以把系…