当前位置: 技术问答>linux和unix
嵌入式Linux程序内存的占用问题?
来源: 互联网 发布时间:2017-03-07
本文导语: 在嵌入式Linux下开发了一个控制台程序(无图形框架和图形库),发现程序内存占用比较高,不知是否正常,还有就是这么高的内存都被什么部分占用了,程序是下面的./aurostar3,内存占用达到43M左右,比例达到了72%,...
在嵌入式Linux下开发了一个控制台程序(无图形框架和图形库),发现程序内存占用比较高,不知是否正常,还有就是这么高的内存都被什么部分占用了,程序是下面的./aurostar3,内存占用达到43M左右,比例达到了72%,开发板物理内存为64M,这个内存占用情况是否正常?还有如果我要查出是哪个部分占用如此高的内存,我该如何下手?程序自己从网络上接收到重启命令会重启自己,我发指令让程序重启自己测试好多次,运行都是正常,查看占用内存情况都不会增加,没有僵尸进程。(这应该说明程序没有内存泄露)。程序使用了网络库,多线程库,信号量库等,程序中动态分配的内存应该不会超过1M以上,不知这高的内存占用谁用了?
top命令信息:
CPU: 0% usr 0% sys 0% nice 99% idle 0% io 0% irq 0% softirq
Load average: 0.02 0.03 0.00
PID PPID USER STAT VSZ %MEM %CPU COMMAND
472 447 root R 4748 8% 1% top
426 1 root S 4512 7% 0% nmbd -D
444 1 root S 44304 72% 0% ./aurostar3
428 1 root S 8200 13% 0% smbd -D
456 428 root S 8200 13% 0% smbd -D
447 1 root S 4748 8% 0% -/bin/sh
1 0 root S 2100 3% 0% init
424 1 root S 2100 3% 0% telnetd
446 1 root S 1552 3% 0% /mnt/nandflash/temp/stupid-ftpd -f stu
418 2 root SWN 0 0% 0% [jffs2_gcd_mtd1]
5 2 root SW
top命令信息:
CPU: 0% usr 0% sys 0% nice 99% idle 0% io 0% irq 0% softirq
Load average: 0.02 0.03 0.00
PID PPID USER STAT VSZ %MEM %CPU COMMAND
472 447 root R 4748 8% 1% top
426 1 root S 4512 7% 0% nmbd -D
444 1 root S 44304 72% 0% ./aurostar3
428 1 root S 8200 13% 0% smbd -D
456 428 root S 8200 13% 0% smbd -D
447 1 root S 4748 8% 0% -/bin/sh
1 0 root S 2100 3% 0% init
424 1 root S 2100 3% 0% telnetd
446 1 root S 1552 3% 0% /mnt/nandflash/temp/stupid-ftpd -f stu
418 2 root SWN 0 0% 0% [jffs2_gcd_mtd1]
5 2 root SW