在3.16-rc4内核源码中,内核给每个进程分配的内核栈大小为8KB。这个内核栈被称为异常栈,在进程的内核空间运行时或者执行异常处理程序时,使用的都是异常栈,看下异常栈的代码(include/linux/sched.h):1 union thread_union {2 struct thre...
分类:
系统相关 时间:
2014-07-30 23:31:05
阅读次数:
411
由于在HotSpot虚拟机中并不区分虚拟机栈和本地方法栈,因此对于HotSpot来说,-Xoss参数(设置本地方法栈大小)虽然存在,但实际上是无效的,栈容量只由-Xss参数设定。关于虚拟机栈和本地方法栈,在Java规范中描述了两种异常:如果线程请求的栈深度大于虚拟机所允许的最大深度,将..
分类:
其他好文 时间:
2014-07-26 03:28:27
阅读次数:
179
-server
-Xms8g
初始堆大小
-Xmx8g
最大堆大小
-Xmn2g
年轻代大小
-Xss1024K
每个线程的堆栈大小
-XX:PermSize=256m -XX:MaxPermSize=512m
Perm不属于堆内存,由虚拟机直接分配,可通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小
设置持久代(perm gen)初始...
分类:
其他好文 时间:
2014-07-02 15:19:30
阅读次数:
207
堆设置-Xmx3550m:设置JVM最大堆内存为3550M。-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根...
分类:
其他好文 时间:
2014-06-28 11:21:49
阅读次数:
183
jvm性能调优的目地:1)控制jvm的堆栈大小。比方当你的程序年轻代对象在某个时间段产生的比較多的时候,就须要控制年轻代的堆大小。同一时候还要控制总的JVM大小避免内存溢出2)控制GC的行为。GC是一个后台处理,可是它也是会消耗系统性能的,因此要依据执行程序的特点来更改GC行为。3)控制jvm线程的...
分类:
其他好文 时间:
2014-06-27 11:33:39
阅读次数:
162
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。1) 要及时回收Bitmap的内存Bitma...
分类:
移动开发 时间:
2014-06-20 20:50:11
阅读次数:
269
WINDOWS操作系统中可以允许最大的线程数默认情况下,一个线程的栈要预留1M的内存空间而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程但是内存当然不可能完全拿来作线程的栈,所以实际数目要比这个值要小。你也可以通过连接时修改默认栈大小,将其改的比较小,这样就可以多开一...
分类:
编程语言 时间:
2014-06-12 20:35:13
阅读次数:
374
议题:快速排序实现之五(非递归实现,短序列优先处理,减少递归栈大小)分析:算法原理:此算法实现适用于系统栈空间不足够快速排序递归调用的需求,从而使用非递归实现快速排序算法;使用显示下推栈存储快速排序中的每一次划分结果
(将left和right都压入堆栈),并且首先处理划分序列较短的子序列(也就是在得...
分类:
其他好文 时间:
2014-06-03 08:23:29
阅读次数:
367
jvm性能调优的目地:1)控制jvm的堆栈大小。比如当你的程序年轻代对象在某个时间段产生的比较多的时候,就需要控制年轻代的堆大小。同时还要控制总的JVM大小避免内存溢出2)控制GC的行为。GC是一个后台处理,但是它也是会消耗系统性能的,因此要根据运行程序的特点来更改GC行为。3)控制jvm线程的内存分配。如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的。堆大小设置-Xms 初始堆...
分类:
其他好文 时间:
2014-05-25 18:22:43
阅读次数:
272