The stack size specified is too small, Specify at

服务器上启动一个java程序,其他服务器正常,有一个老是失败,最后发现了:

The stack size specified is too small, Specify at least 228k

我的jvm参数是:

-server -Xmx2048m -Xms2048m -Xss128k -XX:MaxPermSize=512m -XX:PermSize=512m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 -XX:+PrintGCDetails

JDK7启动对xss参数有最小值要求,必须大于228才能启动JVM

修改这个: -Xss256k -

-XX:+UseConcMarkSweepGC

该标志首先是激活CMS收集器。默认HotSpot JVM使用的是并行收集器。

-XX:CMSInitiatingOccupancyFraction

当堆满之后,并行收集器便开始进行垃圾收集,例如,当没有足够的空间来容纳新分配或提升的对象。对于CMS收集器,长时间等待是不可取的,因为在并发垃圾收集期间应用持续在运行(并且分配对象)。因此,为了在应用程序使用完内存之前完成垃圾收集周期,CMS收集器要比并行收集器更先启动。

因为不同的应用会有不同对象分配模式,JVM会收集实际的对象分配(和释放)的运行时数据,并且分析这些数据,来决定什么时候启动一次CMS垃圾收集周期。为了引导这一过程, JVM会在一开始执行CMS周期前作一些线索查找。该线索由 -XX:CMSInitiatingOccupancyFraction=<value>来设置,该值代表老年代堆空间的使用率。比如,value=75意味着第一次CMS垃圾收集会在老年代被占用75%时被触发。通常CMSInitiatingOccupancyFraction的默认值为68(之前很长时间的经历来决定的)。

时间: 2024-10-18 03:53:43

The stack size specified is too small, Specify at的相关文章

JS 异常: Uncaught RangeError: Maximum call stack size exceeded

遇到了这个js异常, 总是吧浏览器搞崩溃,这是什么原因呢? 开始我也只能想到死循环, 也许是哪个条件判断写错了,其实不是.经过google,发现了一篇文章,内容请看: ================================================================= 文章地址: http://www.zizhujy.com/blog/post/2012/03/18/Uncaught-RangeError-Maximum-call-stack-size-exceed

bootstrapValidator Maximum call stack size exceeded

既然validator依赖与Bootstrap3,那么表单必须使用Bootstrap的类来编写. Tip1:如果表单不是通过Bootstrap构建(即元素包含表单项且关联的label没有form-group类),可能会看到错误Uncaught RangeError: Maximum call stack size exceeded tip2:不要使用表单的属性来设置表单的name和id属性(如submit,reset,length等),可能会引起冲突

Uncaught RangeError: Maximum call stack size exceeded 调试日记

异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 开发道路上不是解决问题最重要,而是解决问题的过程,这个过程我们称之为~~~调试 记一次填坑记,下次一定注意休息...各种低级错误... 1.错误信息:Uncaught RangeError: Maximum call stack size exceeded 我没用递归啊?也没有引入冲突的js库啊?什么状况?(一般都是这两种原因导致的,今天又发现了一种情况) 2.出错一般都是先看下

Ext.encode 抛出异常“Uncaught RangeError: Maximum call stack size exceeded”

在用使用Ext.encode(ExtObject)过程中抛出了如下错误: Uncaught RangeError: Maximum call stack size exceeded 实际上,不能用 Ext.encode 处理 Ext对象(比如Ext.Store),这是一个bug.当然,用该方法处理其他JSON时不会出现异常.

java.lang.StackOverflowError: stack size 8MB

java.lang.StackOverflowError: stack size 8MB at android.text.TextUtils.getChars(TextUtils.java:86) at android.text.method.ReplacementTransformationMethod$ReplacementCharSequence.getChars(ReplacementTransformationMethod.java:151) at android.text.TextU

Uncaught RangeError: Maximum call stack size exceeded 超出最大调用值

“Uncaught RangeError: Maximum call stack size exceeded”.当运行js时出现这个报错,但你又查不到原因的时候,不要慌. 真相只有一个,那就是你的代码进入死循环啦.浏览器会在代码不停执行超出最大调用值时报这个异常. 一般死循环都出现在for语句和函数递归调用的时候,所以找出死循环的原因,就可以解决问题了. 原文地址:https://www.cnblogs.com/wxcbg/p/10557671.html

Uncaught RangeError: Maximum call stack size exceeded-栈溢出

在看函数的arguments对象的时候,用了arguments.callee写了一个递归. 当执行函数func(99999)时候,直接报错了,一看,原来栈溢出了. 当执行递归运算的时候,忘记加点判断条件,出现死循环.栈溢出就是调用堆栈不断地增长,直到达到一个限制,浏览器硬编码的堆栈大小或内存耗尽. 最简单的形式如下,结果:栈溢出. (function a() { a(); })(); 加以限制之后: (function a(x) { if (!x) { return; } a(--x); })(

JS 异常:Uncaught RangeError: Maximum call stack size exceeded解析

出现这种异常的原因是递归成了死循环或者代码中出现了死循环. 检查代码发现没有明显的死循环,故上网搜索了下,发现这篇文章中的讲解非常有意思,认真理解了下文章中提到的代码. // A Math.power = Math.pow; Math.pow = function(x,y) { if (x != 0) { return Math.power(x,y); } else { return 0; } }; // B Math.power = Math.pow; Math.pow = function(

nodeJs 报maximum call stack size exceeded js

先看错误 查了下资料说是什么js堆栈异常,是递归造成的啥的,但我程序里没用到啥递归,整了老半天将collection-repeat换成ng-repeat然后就好啦,具体原因待探讨.