购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 线程栈优化

由于市场上还存在着大量的32位机型,因此我们也经常会遇到因为虚拟内存空间不足而导致的程序崩溃问题,所以这一节开始主要介绍虚拟内存的优化。针对这一方向的优化,最常用的方案是释放虚拟内存空间中不使用的内存,以此来增加虚拟内存的大小。

既然需要释放虚拟内存空间中用不上的内存,那么我们就不可避免地要分析maps文件并从中找到可以释放的内存。通过查看maps文件,如图2-34所示,能发现每个线程栈(anno:stack_and_tls)所占用的虚拟内存大小都为2MB左右。对于一个稍大的应用程序来说,在运行过程中使用数百个线程也是很正常的事情,而这些线程总共消耗的虚拟内存会达到上百MB,因此对线程栈的大小进行优化,也是有效的虚拟内存优化方案之一。

图2-34 maps文件数据 PiBOwTxyMjCSOKplbUKR0Cg+22S7f36iChqGfhu/GhHMw8S2vuln9i1TY03rD1DT

点击中间区域
呼出菜单
上一章
目录
下一章
×