公司一款外边公司设计的产品, XX69XX, 说实话, 垃圾的硬件设计,根本没有考虑到产品的需求.
领导要求在上面跑华丽的界面. 内存32M. SDRAM. 使用某研究院的UI发现 RAM最后只剩1.X MB空间, 随便运行个神马就是内存问题.崩溃啊.
后面自己移植minigui多进程版, 应用使用多图片+字体跑起来之后发现剩 3M, 但是业务程序运行后偶尔还是有内存不足的情况.
为了节省内存, 我采用的方法:
1. sysctl. 控制 /proc/sys/vm/drop_caches = 3.
2. 去掉内核无关的内容.
3. vfork, 精简pthread的堆栈空间.
基本能完成跑一个华丽丽的界面了,而且配制一种矢量字体或者两三种较大点阵字体够用了.
通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用. 。Swap 空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
/dev/sda6 注:加载交换分区
/dev/sda6 注:关闭交换分区
swapon -s 注:查看交换分区
让swap开机就加载,应该改 /etc/fstab文件,加类似如下一行;
/dev/sda6 swap swap defaults 0 0
或者把命令行直接写入 /etc/rc.d/rc.local中也行;
swapon /dev/sda6 注:挂载swap [可选参数 -a -p 0 ]
如果您的硬盘不能再分区,您可以创建一个swap文件:
if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件
mkswap /tmp/swap 注:把/tmp/swap 文件,创建成swap 交换区
swapon /tmp/swap 注:挂载swap [可选参数 -a -p 0 ]
swapon -s
阅读(4406) | 评论(0) | 转发(0) |