当前位置: 技术问答>linux和unix
请教多线程程序的内存占用问题
来源: 互联网 发布时间:2015-12-29
本文导语: 我在uclinux下开发了一个GUI程序,有三个线程,一个GUI控制,一个定时器线程,一个硬件扫描的线程,程序已越写越大,2进制档有2M多了,最近发现呼叫系统的shell总是内存不够,自动输出/proc/mem_map。查看mem_map发现有3...
我在uclinux下开发了一个GUI程序,有三个线程,一个GUI控制,一个定时器线程,一个硬件扫描的线程,程序已越写越大,2进制档有2M多了,最近发现呼叫系统的shell总是内存不够,自动输出/proc/mem_map。查看mem_map发现有3个相同主程序(调用ps也可看到3个相同名的进程ID,程序只运行一次),每个占用RAM有7M多,这样一个程序就用了22M左右,系统总内存是32M, 难怪说内存不够呢!
我想问的是, mem_map显示的信息是正确的吗?难道多线程占用的内存是成倍增长的吗? 还是与别的相关,有没有可以节约内存的方法?
我想问的是, mem_map显示的信息是正确的吗?难道多线程占用的内存是成倍增长的吗? 还是与别的相关,有没有可以节约内存的方法?
|
你的程序应该没有问题,3个线程总共用了7M,是别的出了问题。你看看别的因素。
|
7M?检查检查程序里干了些什么。