分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制。否则可能导致应用程序宕掉。

举例说明含义:-Xms128m

表示JVM Heap(堆内存)最小尺寸128MB,初始分配

-Xmx512m

表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。

说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try…catch捕捉。

PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。

-XX:PermSize=64MB 最小尺寸,初始分配

-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配

过小会导致:java.lang.OutOfMemoryError: PermGen space

MaxPermSize缺省值和-server -client选项相关。

-server选项下默认MaxPermSize为64m

-client选项下默认MaxPermSize为32m

相比Perm Size (permanent generation size)和 Heap Size,OutOfMemoryError 要更常见一些。一般当你遇到OutOfMemoryError 问题时,很多人会告诉你用下面种方法来解决问题:

•添加/调整启动参数-Xms 和 -Xmx,用以增大Heap Size

•以server 方式启动JVM,用以提高JVM”运行期”的执行效率

•检查程序,看是否有不合理的new 操作导致大量不必要的内存消耗

上面两种方法确能解决许多普通问题,但有时即使你设置了很大的Heap Size(比如-Xms128m -Xmx1024m),OutOfMemoryError 仍可能会出现,这时Perm Size 就可能与你有关了。

参见:

•http://lists.canoo.com/pipermail/webtest/2004q3/002460.html

•http://www.raibledesigns.com/page/rd?anchor=how_do_you_determine_a

•http://forum.java.sun.com/thread.jspa?threadID=775925

Perm Size 是部分与-Xms/mx 所指定的heap size无关的内存空间(default: 32M for client,  64M for server),所以即使你设置了再大的ms/mx 值,也仍然存在OutOfMemoryError 隐患。Perm Size 中存放了class 的metadata 等(google for more information)信息,如果你的应用中采用了 Spring、Hibernate 或 Tapestry 等基于 reflection 和 proxying 的框架时,你就很有可能会遇到OutOfMemoryError。

如果是这种情况那就考虑在启动时加入如下参数吧:-XX:PermSize=128m

至于如何选择最合适的PermSize值,可以参考

http://www.raibledesigns.com/page/rd?anchor=how_do_you_determine_a

里面提到了分析最优PermSize 值的几种方法。

注意:并非所有JVM vendor 开发的JVM 都支持/存在PermSize 问题。

另,OutOfMemoryError 的多与JVM 的 GC 有关,选择合适的GC 策略,合理设置启动选项会有很大帮助,参见:http://geniil.spaces.live.com/blog/cns!81B15F02616BA25C!204.entry

另在工作环境里可以使用jrocket

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

JVM HeapSize Permsize相关推荐

  1. 转 《JVM HeapSize Permsize》

    java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制.否则可能导致应用程序宕掉. 举例说明含义:-Xms128m 表示JVM Heap(堆内存)最小尺寸128MB, ...

  2. JDK8报错:warning: ignoring option PermSize=256m; support was removed in 8.0【多测师_王sir】【杭州多测师_王sir】...

    tomcat版本由7.0升级到8.0启动时,日志报错 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=512m; ...

  3. jvm 崩溃日志设置_JVM崩溃日志信息分析

    前些天,搞JNI的时候,报了个JVM崩溃的错.错误信息如下: # # An unexpected error has been detected by HotSpot Virtual Machine: ...

  4. warning: ignoring option PermSize=256m; support was removed in 8.0

    使用jdk1.8后,控制台出现下面提示信息: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=256m; sup ...

  5. java 64位 默认分配内存大小_查看你机器中Java程序堆内存的默认初始大小和最大大小...

    很多时候,我们运行的Java程序并没有设定堆的内存限制参数,正常来说可以有两个参数来指定初始分配的堆内存和堆内存的最大值,分别为: -Xmx 用来设置你的应用程序(不是JVM)能够使用的最大内存数(相 ...

  6. java client和servers_“java -server”和“java -client”之间的真正区别?

    这实际上与HotSpot和默认选项值 ( Java HotSpot VM选项 )相关联,这些选项在客户端和服务器configuration之间有所不同. 从白皮书( The Java HotSpot ...

  7. Java 堆默认大小

    最近在调整程序的堆大小设置,就顺便看了开发环境中如何设置的.发现开发环境没有主动设置大小,那就应该是根据机器配置和操作系统以及JDK版本等信息使用了默认配置. 查询 PrintFlagsFinal 关 ...

  8. java client是什么_“java-server”和“java-client”之间的真正区别?

    慕村9548890 在早期版本的Java中,最明显的直接区别是分配给-client相对于-server申请.例如,在我的Linux系统上,我得到:$ java -XX:+PrintFlagsFinal ...

  9. 玩点深入的:Java 虚拟机内存结构及编码实战

    本文来源:不会coding 了解JVM内存结构的目的 在Java的开发过程中,因为有JVM自动内存管理机制,不再需要像在C.C++开发那样手动释放对象的内存空间,不容易出现内存泄漏和内存溢出的问题. ...

最新文章

  1. LeetCode-笔记-143. 重排链表
  2. 使用CInternetSession获取utf-8页面中文乱码问题解决方法
  3. [ARC072C]Alice in linear land(dp,贪心)
  4. linux下安装配置jdk(解压版)
  5. 华为触摸提示音怎么换_抖音苹果iPhone手机怎么改微信消息提示音 自定义换声音教程...
  6. requests-获取cookie-0223
  7. SAP License:FICO重要概念(二)-附常用技巧
  8. 这个沙盒游戏建立在数字时代,你能通关吗?
  9. Everything的使用-初级篇
  10. MATLAB/simulink_S函数
  11. 红黑联盟 php相关资讯
  12. 中国历史上水平最高的十首诗词,你都读过吗?
  13. Android SDK 字段及功能的分析详解
  14. 写给产品经理的第4封信:关于产品经理的十万个为什么?你为什么要做产品经理?
  15. 全球人造丝卫生棉条行业调研及趋势分析报告
  16. 【HTML】关于height值设置和显示不同的原因以及font-size对象为中文和英文的区别
  17. 微信小视频会上传到服务器么,微信新出的视频号功能怎么样发布短视频?能上传一分钟以上吗?...
  18. opcache php7,让子弹飞~利用 OPcache 扩展提升 PHP7 性能 | Laravel 篇
  19. SQLServer通过sql修改表主键
  20. 汉字转化成拼音 汉字转化成拼音

热门文章

  1. 五面拿下阿里飞猪offer,思维图+核心+架构让你一步到位,全网首发!
  2. 斗地主游戏制作流程(1)
  3. vue产生二维码并且打包下载
  4. bim推荐计算机配置,BIM设计师电脑岂能儿戏?做BIM设计电脑配置推荐
  5. 网页中文本朗读功能开发实现
  6. 可以用聚酯树脂将接线板密封接线盒吗?(接线盒灌封胶用哪种树脂)
  7. 绘制网格、主对角线格子填充、拷贝图像、wait_for_button循环。
  8. 测试开发工作者日记:2020.7.9
  9. 20余省已公布高考查分时间,集中在6月下旬
  10. P1123 取数游戏