博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
服务器内存泄露 , 重启后恢复问题解决方案
阅读量:5235 次
发布时间:2019-06-14

本文共 1629 字,大约阅读时间需要 5 分钟。

 最近爆发了一个问题 , 以前一直在正常运行的应用突然无法访问 .

 

不用问,这个肯定是服务器的问题,但是这个要怎么看呢?

1.登录服务器,如果服务器压力过大,已经无法登录服务器了,那么只能请求DBA强制重启了.

  1.1. 假设能登陆服务器,马上查看服务器CPU以及内存或者回收等信息,可以那么使用以下方法收集日志和查看CPU,手速一定要快,比较用户都在催,电话,微信,qq都在响..收集完了就重启服务器,现正常了再查原因.

  附图:为了大家能够熟练敲打,照着多打吧.

  

2.登录之后查看回收效率以及速度:

  1.通过 ps -ef|grep java 得到pid:如图:

  

2.通过 ps -p 101040 -o etime;jstat -gcutil 101040 1000 30  

  上面的命令意思:

  ps -p 101040 -o etime 查看的是应用运行时长

  jstat -gcutil 为查看jvm gc回收情况的命令

  101040 为上图的PID

  1000为时间间隔,单位毫秒

  30为打印的条数,不设定则一直打印

至于打印什么东西??请看下面:

  

 

 结果中每个项目的含义可以参考官方对的文档,简单翻译如下:(参考别人的翻译)

- S0C: Young Generation第一个survivor space的内存大小 (kB).

- S1C: Young Generation第二个survivor space的内存大小 (kB).
- S0U: Young Generation第一个Survivor space当前已使用的内存大小 (kB).
- S1U: Young Generation第二个Survivor space当前已经使用的内存大小 (kB).
- EC: Young Generation中eden space的内存大小 (kB).
- EU: Young Generation中Eden space当前已使用的内存大小 (kB).
- OC: Old Generation的内存大小 (kB).
- OU: Old Generation当前已使用的内存大小 (kB).
- PC: Permanent Generation的内存大小 (kB)
- PU: Permanent Generation当前已使用的内存大小 (kB).
- YGC: 从启动到采样时Young Generation GC的次数
- YGCT: 从启动到采样时Young Generation GC所用的时间 (s).
- FGC: 从启动到采样时Old Generation GC的次数.
- FGCT: 从启动到采样时Old Generation GC所用的时间 (s).
- GCT: 从启动到采样时GC所用的总时间 (s).

 

3.上面都是查看JVM的内存情况,具体表现为jvm内存泄露,解决方案现在有2个:

  1.具体问题具体分析,找到内存泄露的瓶颈,上面所搜集的日志可以帮助你找到问题的根源;

  2.短期内需要保证项目运行,那么请将JVM的内存加大,1G的加到2G,2G的加到4G等...

    调整方式(Tomcat为例,其他容器自行参考)

    1.打开文件:自己的tomcat目录/bin/catalina.sh

    2.找到如下参数,并将其修改为如下:

JAVA_OPTS="-server -Xms4096m -Xmx4096m" JavaOpts里面的server参数足够用了,其余多余的参数其实没什么用(项目自行配置),将上面的内存大小调整即可,如上面为4096M=4G.

  调整内存只是权宜之计,根本问题还是要找到瓶颈,对症下药!!!

  祝大家永无bug.

    

转载于:https://www.cnblogs.com/pongyc/p/9646433.html

你可能感兴趣的文章
UVA11374 Airport Express
查看>>
P1373 小a和uim之大逃离 四维dp,维护差值
查看>>
NOIP2015 运输计划 树上差分+树剖
查看>>
P3950 部落冲突 树链剖分
查看>>
读书_2019年
查看>>
读书汇总贴
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>
MPT树详解
查看>>
空间分析开源库GEOS
查看>>
RQNOJ八月赛
查看>>
前端各种mate积累
查看>>
jQuery 1.7 发布了
查看>>
Python(软件目录结构规范)
查看>>
Windows多线程入门のCreateThread与_beginthreadex本质区别(转)
查看>>
Nginx配置文件(nginx.conf)配置详解1
查看>>
linux php编译安装
查看>>
name phone email正则表达式
查看>>
721. Accounts Merge
查看>>
「Unity」委托 将方法作为参数传递
查看>>
重置GNOME-TERMINAL
查看>>