免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1194 | 回复: 0
打印 上一主题 下一主题

[Moto E680I]彻底解决内存不足的问题,LinLoader+几个脚本就OK! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-16 15:16 |只看该作者 |倒序浏览
Linux本身就支持以swap分区或文件作为系统的虚拟内存,小I自带有/sbin/swapon就给我们解决这一问题提供了方便。
为了避免mmc/sd卡弹出后,虚拟内存文件丢失而又没有swapoff而带得的问题,我曾想把swap文件放在手机内存中,我把预置的游戏和视频全删除后,空出了约42MB的空间,但在用dd创建swap文件时,发现速度极慢!事实上,当我把位于手机自带内存中的交换文件swapon之后,系统反应明显变慢,有时像死机了的!只好转而在我的Apache 60x的512MB SD卡上试,结果效果非常好,速度非常快,问题也来了,必须记得在弹出sd卡前先swapoff!
LinLoader执行时是以ezx用户运行的,/sbin/swapon(off)虽可以运行,但不会生效,系统又没有su命令,好在还有个start-stop-daemon命令有suid位,可以让ezx用户运行特权用户才能运行的命令。
由于手机系统没有自己的mkswap命令,这就需要你有个运行linux的计算机了。
操作过程:
1. 启动安装有Fedora Core 4的计算机 (2.6以上kernel的其它linux发行版也行),usb线连接手机和电脑。
2. 在手机上执行usbnet.lin.
3. 在计算机上执行:
ifconfig usb0 192.168.1.1
mkdir /mnt/smb
mount -t smbfs -o guest //192.168.1.2/system /mnt/smb
telnet 192.168.1.2
cd /mmc/mmca1/.system
dd if=/dev/zero of=file.swp bs=1024 count=32768   (创建一个32MB大小的交换文件,如果你的sd卡够大,你也可以再加大点,手机ram约48MB,swap建议为1.5到2倍大小,我的剩余空间不多了,只好就用32MB)
exit (注意,又回到计算机的shell中来了)
cd /mnt/smb/mmc/mmca1/.system
mkswap file.swp
4. 好了,基本完工,然后把下面的几个脚本放到/mnt/smb/diska/MyNotes(就是手机中的“我的记事”),你也可以放到sd卡自建目录,但我的脚本中有几个路径就要改一下了。
5. 打开我的记事,点一下swapon.lin就打开了swap,再点一下swapoff.lin就关闭swap,打开swap后运行一下阅读器,打开一个大的pdf文件试试,以前出现内存不足的提示不见了……:-)
swapoff.lin
#!/bin/sh
start-stop-daemon -S -x /diska/MyNotes/swapoff.sh
swapoff.sh
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
swapoff /mmc/mmca1/.system/file.swp
swapon.lin
#!/bin/sh
start-stop-daemon -S -x /diska/MyNotes/swapon.sh
swapon.sh
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
swapon /mmc/mmca1/.system/file.swp
更新:
本版高人在分析了Intel Xscale系列处理器的特性后,认为小I用的PXA270处理器只支持64MB内存寻址,再多的swap也是没用了,但我实践证明这是武断的,完全可以超过64MB(连物理的45.5MB ram一起):
# cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  47722496 46366720  1355776        0   561152 24481792
Swap: 33546240 22544384 11001856
MemTotal:        46604 kB
MemFree:          1324 kB
MemShared:           0 kB
Buffers:           548 kB
Cached:          19604 kB
SwapCached:       4304 kB
Active:          22352 kB
Inactive:        15200 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        46604 kB
LowFree:          1324 kB
SwapTotal:       32760 kB
SwapFree:        10744 kB
Committed_AS:   150560 kB
这是我把小I中所有可以打开的程序再加一个kjava应用都打开后的内存状态,此时系统反应稍慢了一点,但速度差异基本感觉不到。
我发现用阅读器打开PDF时死机并不是真正死机了,只不过阅读器本身失去响应而已,这和内存不足没有关系,我试验时是一直telnet到手机的,当时阅读器死了,因为是全屏运行,手机也没响应了,但我通过命令行将阅读器进程kill掉后,系统恢复正常状态,一点问题也没有,可见这个阅读器软件本身有bug,尤其在打开PDF的时候。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/14050/showart_75379.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP