1登录was控制台https://196.168.119.18:9043/ibm/console/,找到自己的应用程序服务器---java和进程管理---进程定义--JAVA虚拟机,然后配置 通用JVM 参数

加入以下jvm参数:

-Djavax.management.builder.initial=

-Dcom.sun.management.jmxremote.port=7001

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

注意:等号后面一定要保留空格,否则会报错。先执行netstat -ano | grep 7001,查看这个端口是否被使用。另外注意防火墙对7001端口的配置,要放开,否则远程机器可能连接不上.

2、修改/usr/IBM/WebSphere/AppServer/java/jre/lib/management下的management.properties文件,在最后加入

com.sun.management.jmxremote.port=7001

com.sun.management.jmxremote.authenticate=false

com.sun.management.jmxremote.ssl=false

3、设置jconsole远程登录的用户名和密码在/usr/IBM/WebSphere/AppServer/java/jre/lib/management下有个jmxremote.password.template文件,在最后面加入你要设置的用户名和密码

root root@123 (用户名、密码,可以随意修改)

备注:(第二、三步,我在实际操作中,没有配置也是可以连接的)

4在was控制台上停掉自己的应用程序服务器,然后重启。

进入JAVA_HOME所在的bin目录,运行jvisualvm.exe或Jconsole.exe就可以启动远程连接WAS服务器的话,需要添加JMX连接方式就可以了

分析:

内存溢出的原因有很多种,比如:

 1、数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;

2、虚拟机不回收内存(内存泄漏);说白了就是程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。

内存溢出的问题要看业务和系统大小而定,对于某些系统可能内存溢出不常见,但某些系统还是很常见。

内存溢出的一般解决方法:

 一个是优化程序代码,如果业务庞大,逻辑复杂,尽量减少全局变量的引用,让程序使用完变量的时候释放该引用,能够让垃圾回收器回收和释放资源。

二就是物理解决,增大物理内存,然后通过-Xms256m -Xmx2048m 的修改来增大内存空间。

最新文章

  1. Java Reflection
  2. LED数码管显示实验
  3. NVelocity 表格行奇偶样式变换
  4. thinkphp3.2 分页方式汇总
  5. Java BIO、NIO、AIO-------转载
  6. python中的lambda
  7. MX记录
  8. php 算法之切割数组,不用array_chunk(),算法之二,取数组的差值,不用array_diff()
  9. Nhibernate 多对多级联更新
  10. top 10 js mvc
  11. 流动python - 自然装饰
  12. 【工作笔记一】【转】Visual Studio 2012常用快捷键总结
  13. seaborn库
  14. C# 0xC0000005 捕获
  15. EntityFramework如何创建索引?
  16. iredmail安装问题
  17. 在Windows下搭建Android开发环境及遇到的问题
  18. Flask上下文管理源码分析
  19. nginx学习要点记录
  20. 王立平--include在Android中的应用

热门文章

  1. POJ 3264:Balanced Lineup(RMQ模板题)
  2. 【Aizu - 0121】Seven Puzzle (反向bfs)
  3. 实例解说AngularJS在自动化测试中的应用
  4. [WPF自定义控件库]了解WPF的布局过程,并利用Measure为Expander添加动画
  5. 使用R语言预测产品销量
  6. windbg 配置符号路径
  7. 从无到有构建vue实战项目(六)
  8. 个人永久性免费-Excel催化剂功能第69波-专业图表库新增图表-刘万祥老师中国地图
  9. TensorFlow笔记-线程和队列
  10. 详解svm和smo的出现