
正文
linux设置栈空间命令 linux如何设置
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Linux里面JVM内存怎么设置?
jar包启动时指定对应参数,比如我的工程启动命令就是这样的
启动命令,打码部分为工程名
常见参数如下
1.-Xms:初始堆大小。只要启动,就占用的堆大小。
2.-Xmx:最大堆大小。java.lang.OutOfMemoryError:Java heap这个错误可以通过配置-Xms和-Xmx参数来设置。
3.-Xss:栈大小分配。栈是每个线程私有的区域,通常只有几百K大小,决定了函数调用的深度,而局部变量、参数都分配到栈上。
当出现大量局部变量,递归时,会发生栈空间OOM(java.lang.StackOverflowError)之类的错误。
4.XX:NewSize:设置新生代大小的绝对值。
5.-XX:NewRatio:设置年轻代和年老代的比值。比如设置为3,则新生代:老年代=1:3,新生代占总heap的1/4。
6.-XX:MaxPermSize:设置持久代大小。
java.lang.OutOfMemoryError:PermGenspace这个OOM错误需要合理调大PermSize和MaxPermSize大小。
7.-XX:SurvivorRatio:年轻代中Eden区与两个Survivor区的比值。注意,Survivor区有form和to两个。比如设置为8时,那么eden:form:to=8:1:1。
8.-XX:HeapDumpOnOutOfMemoryError:发生OOM时转储堆到文件,这是一个非常好的诊断方法。
9.-XX:HeapDumpPath:导出堆的转储文件路径。
10.-XX:OnOutOfMemoryError:OOM时,执行一个脚本,比如发送邮件报警,重启程序。后面跟着一个脚本的路径。
相关问答
Q1: linux 设置堆栈大小 为无限制
linux设置栈空间命令你好。
执行命令ulimit -alinux设置栈空间命令,查看栈大小linux设置栈空间命令的限制。
通过使用 ulimit -s 数字 进行设置。
Q2: Redhat Linux中怎样自动设置线程堆栈大小?
不是可以直接用线程属性进行设置吗?
linux设置栈空间命令我写了一个小程序。如下linux设置栈空间命令:
#include pthread.h
#include limits.h#define Thread_NUM 5void *MultiThread_soap_serve(){ sleep(5); printf("new pthread!!\n");}//PTHREAD_STACK_MIN 经过计算是16K。//64*16K = 1M,线程堆栈应该是够用的。#define MICHAEL_SET_PTHREAD_STACK_SIZE 64int main(){ pthread_attr_t attr; pthread_attr_init(attr); size_t stacksize = MICHAEL_SET_PTHREAD_STACK_SIZE*PTHREAD_STACK_MIN; //stacksize =PTHREAD_STACK_MIN; //stackaddr=(void*)malloc((N+1)*PTHREAD_STACK_MIN); //pthread_attr_getstack(attr,statckattr,stacksize); //pthread_attr_setstack(attr,stackaddr,); pthread_attr_setstacksize(attr,stacksize); int iThreadNum = 0; pthread_t PSoapThread[Thread_NUM]; for ( ; iThreadNum Thread_NUM ; iThreadNum++ ) { pthread_create(PSoapThread[iThreadNum],attr,MultiThread_soap_serve,(void *)NULL); } pthread_attr_destroy(attr); while(1) { sleep(10); printf("main!!\n"); }}
关于linux设置栈空间命令和linux如何设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






