搜档网
当前位置:搜档网 › 把swap分区设置在手机内存上让swap分区的读写速度更快更省电减少sd卡的损伤

把swap分区设置在手机内存上让swap分区的读写速度更快更省电减少sd卡的损伤

把swap分区设置在手机内存上让swap分区的读写速度更快更省电减少sd卡的损伤
把swap分区设置在手机内存上让swap分区的读写速度更快更省电减少sd卡的损伤

把swap分区设置在手机内存上,让swap分区的读写速度更快、更省电、减少SD卡的损伤

这是一个傻瓜化的教程,你只需要跟着作者一步一步的来就能成功,教程的目的是开启swap并开机起动,以swap 开在cache为例。第一步:首先,下载附件Swap in ROM.rar (330 Bytes, 下载次数: 1891 ) 解压得到两个文件90userinit

和CreatIMG.sh。。

第二步:将两个文件传到手机内存卡里,

第三步:下载re管理器,如果有请跳过这步。

第四步:用re管理器将CreatIMG.sh从内存卡复制到手机里的/cache目录中,长按CreatIMG.sh选择权限,勾选全部可运行复选框。

第五步:点击CreatIMG.sh运行,之后re选择刷新,会发现/cache目录多了个swap.img,长按它选择权限,勾选全部权限。

第六步:将90userinit复制到手机里的/system/etc/init.d/目录下,并用同样的方式给予权限,权限内容参考目录中的其它文件。

最后重启手机成功。

可用超级终端查看:su回车,free回车,swap分区不全是0,就是成功了

最后,如果你愿意用手机程序存储器的其它分区,如/data,或改变swap大小,则需要编辑两个文件,

在re中长按CreatIMG.sh和90userinit选“用文本编辑器打开”,内容分别如下

mount -o remount,rw /cache;

swapoff /dev/block/loop7;

dd if=/dev/zero of=/cache/swap.img bs=1024 count=20000; free;

mount -o remount,rw /cache;losetup /dev/block/loop7

/cache/swap.img;

mkswap /dev/block/loop7;

swapon /dev/block/loop7;

只需吧文本中的/cache换车你想要的分区目录就行,如/data.

若要改变swap大小,则改变count=20000(即20m)中的数值即可。PS:虚拟内存不必要开太大,推荐开64M,下面是我开了swap的真相。

觉得爽的都顶起吧!!!!!

*************************************************** ***************************************

帖最后由icecreamgf 于2012-1-24 12:43 编辑swap需要内核支持,没刷内核的童鞋请路过!!最新测试:

miniCM7-2.1.5+nAa-06b内核测试成功,新增data swap!

最近刷了notbodyAtall的新miniCM7跟06b的内核后,感觉非常爽,这绝对是2.3系统的一个质的飞跃,自刷机以来第一次发现2.3系统原来可以这么流畅的,强烈推荐。

尔后发现,data文件夹剩余容量有180+M,既然有这么多空余空间,何不物尽其用呢?于是乎,data swap出现了!

如何实现data swap呢?其实方法很简单,请往下看吧!注:两种swap不能同时开通,也不能与其他swap共用!!!cache swap(48M虚拟内存):首先,什么是swap?

swap就是类似你在电脑上建立虚拟内存那样的东西,从而达到补充ram的不足。其次,什么是cache?

cache是系统自带个一个文件夹,大概有50M左右,是电子市场专用下载的文件夹。再次,什么是cache swap?

cache swap就是把cache文件夹挂载为swap分区,来填充我们小8严重不足的ram。最后,为什么要cache swap?

为什么要cache swap而不是sd swap?因为在sd卡上建立swap分区,伤卡不说,还存在不稳定因素,而cache是机身内存的东西,速度自然不是sd卡能比的,不过就是要牺牲下

电子市场咯,本人不用电子市场,所以,果断将它物尽其用,哇哈哈哈哈!看了很多论坛帖子的说,去了g2论坛,u8220论坛,去了goapk,还在我们自己论坛看了帖子,终于是集大家之所成,研究出cache swap的方法,并让其能开机运行!!好了,接下来,让我们邪恶的开始吧!1. 下载附件Swap in ROM.rar (428 Bytes, 下载次数: 3744 )

2011-12-1 20:55:51 上传下载次数: 3744

下载积分: 金币-1 2. 将压缩包中的CreatIMG.sh放在

/system文件夹下,权限全勾上。然后运行下,如果能够看到swap成功(swap那一行有数据,而不是全为0),说明可以继续下一步。之前说不用运行,后来发现不运行就不会生成swap.img文件,也就不成功了。鉴于大家都说运行后swap 依然是0的情况,本人又从刷了v17测试,发现也是0,下面是解决方法:打开终端模拟器,输入下面代码su

mount -o remount,rw /cache()

swapoff /dev/block/loop7

dd if=/dev/zero of=/cache/swap.img bs=1024 count=48000(输入这一行以后,等一下,因为它要创建一个swap文件,等它出了两行英文再继续往下输)

losetup /dev/block/loop7 /cache/swap.img

mkswap /dev/block/loop7

swapon /dev/block/loop7

free这样应该就没问题了,至少我是这样的。。运行好可到cache文件夹下看是否生成swap.img文件。大小应该是48M左右。如图1,图2

2011-10-4 00:31:56 上传下载附件(18.47 KB)

图1

2011-10-4 00:33:36 上传下载附件(38.85 KB)

图2 3. 用re管理器编辑/system/bin/sysinit 文件,在文件最后部分增加以下内容:mount -o remount,rw /cache;

losetup /dev/block/loop7 /cache/swap.img;

mkswap /dev/block/loop7;

swapon /dev/block/loop7;如图3,图4,如果找不到sysinit文件的话,在附件的文件找下看有没有内容跟最后一张图一样的文件。。。有的话应该就是那个文件啦。。。

4.重启

5.运行终端模拟器输入free 看看是不是swap已挂载成功。你应该能看到swap那一行:swap:47992 ***** *****(星号表示可任意变动)

这样就说明开启成功了。恭喜!黑皮吧!如果这样还不行,那就把压缩包里的另一个文件90userinit放在

/system/etc/init.d里面,权限全勾上,再重启。不成功的童鞋请确认已刷了新内核。。。swap要内核的支持!data swap (128M虚拟内存):1. 下载附件DATA SWAP.rar

2. 将压缩包中的CreatIMG.sh放在/system文件夹下,权限全勾上。然后运行下,应该能够看到swap成功

3. 用re管理器编辑/system/bin/sysinit 文件,在文件最后部分增加以下内容:mount -o remount,rw /data;

losetup /dev/block/loop7 /data/swap.img;

mkswap /dev/block/loop7;

swapon /dev/block/loop7;4.重启

5.运行终端模拟器输入free 看看是不是swap已挂载成功。如果想在其他位置(如system)下使用swap,只要将cache swap中所有cache字样的地方换成system即可。。。

注意:dd if=/dev/zero of=/cache/swap.img bs=1024

count=48000中"count=”所带的数字是swap容量大小,请确认开swap的地方是否有足够空间。如果开64M 的swap,将48000改为65535即可。

Data swap.rar

214 Bytes, 下载次数: 1523, 下载积分: 金

*************************************************** ****************************

机内存储器分为ROM和RAM,ROM断电不会丢失数据,RAM断电数据即丢失,RAM速度理论快于ROM,打开的程序及数据一般在RAM,SD卡为机外存储器,跟ROM类似,都有寿命,即读写多少次就会失效,另外读写ROM、DS卡跟读写RAM的耗电、速度都是不一样的

*************************************************** *******

swap变的不是内存,而是把暂时不用的程序所用内存存入,这样玩一些大型游戏就不会卡了,个人建议开96或128就可以了。评分,,,求screenshot-1326769107005.png (47.84 KB,

下载次数: 563)

2012-1-17 11:19:14 上传

下载次数: 563

虚拟内存.APK.APK

2012-1-17 11:13:17 上传

下载次数: 4445下载积分: 金币-1 1.02 MB, 下载次数: 4445, 下载积分: 金币-1

*************************************************** *********

内存卡分区教程

下面就介绍利用 分区软件Acronis Disk Director Suite 10 通过读卡器给SD卡分三区的方法 (注意,这个方法只能用读卡器,手机U盘模式不行) Acronis Disk Director Suite 10 中文免注册版68MB 下载地址: https://www.sodocs.net/doc/3515369456.html,/groups/@g165358/259136.topic 第一步、安装Acronis Disk Director Suite 10 中文免注册版 第二步、将SD卡插入读卡器,读卡器再插进电脑USB接口 第三步、打开我的电脑,选择SD卡盘符鼠标右键选择格式化(FA T32)不要选择快速格式化 第四步、打开电脑里面的控制面板选择管理工具选择计算机管理现在看左边,选择储存-> 磁盘管理 现在看右边,看到你的SD卡分区没? 鼠标放在你的SD卡那个分区上,鼠标右键呼出菜单,选择删除磁盘分区,OK 第五步、打开Acronis Disk Director Suite 10 (这一步照抄啊兴的咸湿教程) 但是要强调的是

1,啊兴的这个只做了FA T32和EXT2两个分区,你现在要做的是分别选择FA T32、EXT3、Linux交换三个分区,而不是下面教程里面的两个。这个要注意了! 2, 这个看来要强调一下了,根据经验来看分区先后顺序有的机子没什么要求,而有的机子必须按照先FA T32 再EXT3 最后Linux交换的顺序来分区!如果你没什么经验,还是保守的按照这个顺序来吧! 3,啊兴的这个是256MB 的卡,下面的分区大小不要跟着学 你现在实际应该选择的分区顺序和大小是: 分第一个分区“FA T32”格式大小选择,你的卡的总容量xxxxMB 减580MB,得出来的就都是FA T32的空间容量 分第二个分区“EXT3”格式大小选择,580MB-96MB(EXT3这个分区,300-499MB都可以,但注意不要超过499MB)一般来说这个分区大小在四百多MB,这个分区分的时候需要注意,这个区分完后剩余的空间大小不能超过96MB,推荐剩余94.13M,留给最后的一个分区就行了分第三个分区“Linux交换”格式大小嘛,最后的都是它的咯,推荐94.13M 以上分区的时候,你之前划拨的空间与出来以后显示大小,肯定数字上有出入,这个正常,不去管它,你只要确认你分出来以后的大小就行了!下面的第18步之前,你要确认你分的区是上面我说的三个区,且ETX3格式分区没有超过499MB、Linux交换格式分区没有超过96MB(或者

java中实现swap函数的几种方式

佳音校区老师告诉你java中实现swap解决方案 由于java中“对基本类型的变量是不支持引用传递的”,所以根本不能像c/c++那样直接传地址,但是可以如下解决: 1.使用数组传值 public class TestSwap2 { //由于java中的参数传递都是采用值传递的传递方式,因此不能使用引用符号。 //可以使用重新赋值的方法 private static int[] swap(int a, int b){ int temp = a; a = b; b = temp; return new int[]{a,b}; } //下面是主函数的实现 public static void main(String[] args){ int a = 4; int b = 6; System.out.println("before swap "+"a的值="+a+" b的值="+b); int[] swap = swap(a,b); a = swap[0];

b = swap[1]; System.out.print(a + " "); System.out.print(b); System.out.println("======"); System.out.println("after swap "+"a的值="+a+" b的值="+b); } } 2.采用类变量传值 public class TestSwap { /** * @param args */ //定义类变量 static int a = 3; static int b = 2; public static void main(String[] args) { TestSwap ts = new TestSwap(); System.out.println("before swap "+"a的值="+a+" b的值="+b); ts.swap(ts.a,ts.b); System.out.println("after swap "+"a的值="+a+" b的值="+b); } //改变的是类变量的值

Ext4,Swap分区教程(Recovery分区,非Linux系统下分区)

Ext4分区需要在Linux系统下才能进行分区处理,而我们不可能仅仅为了分一个Ext4而开虚拟机装Linux系统。(麻烦死) 因此,我们选择一个可以在手机端直接分出Ext4的Recovery版本。(请勿乱刷未经测试是否适用的Recovery版本) TF卡读写速度对Ext4的性能有着重要的关联! C2卡不建议使用Ext4,可能导致系统很卡的现像,建议使用Ext3。 C4,C6,C10卡均可使用Ext4,性能表现为:C4 < C6 < C10 新买的TF卡或者重新分区的话,Fat32里有重要数据的,必须备份,否则后果自负! 信息和个人程序,该备份的备份去,这就不多说了。 功能按键说明:本版本的Recovery模式下,导航键可以上下左右,中间黑色那个是确认键!返回键是“音量减少” 详细操作: 1. 在Recovery主界面下,选择“Partition sdcard”(将SD卡进行分区)进入分区功能界面,菜单及注释如下: (已有Swap分区及Ext分区的可跳过此步骤) Partition SD给SD卡分区 Repair SD:ext修复Ext分区

SD:ext2 to ext3将Ext2分区转换为Ext3分区 SD:ext3 to ext4将Ext3分区转换为Ext4分区 在这里我们选择“Partition SD”开始分区 ①Swap-size =MB使用上下键选择大小。确定键执行。软件多的,推荐96MB。 Swap分区需要ROM支持,如果ROM不支持或者不需要Swap分区的请选择“0 MB”不建立Swap分区。如果SD卡的读写 速度较慢,不建议设置Swap分区,否则系统性能不但得不到提升,反而会变卡。 ②Ext2-size = MB使用上下键选择大小。确定键执行。一般我们分512MB即可。 这里设置的就是我们所说的Ext分区的大小,具体依个人情况而定,基本上512MB够你装一大堆软件了。 ③第二步完成以后Recovery会自动将剩余空间设为Fat32分区。最后我们再次按下确定键执行分区。 至此,分区操作完成,下面我们将已经分好的Ext2分区转换为Ext3或Ext4分区。 2. 首先,确认你已经分出Fat32和Ext分区。由于你所升级的只是Ext2分区,所以Fat32分区里面的数据,不会被格式化! 在分区功能主界面中选择"SD:ext2 to ext3" 将Ext分区由Ext2转换为Ext3,按下确

内存卡分区教程

最直观的内存卡分区教程 下面是教程: 注意:电脑是win7的朋友,用本帖子的分区软件请用“兼容模式”打开!具体是安装本软件,然后选中分区软件的图标,右击选属性,然后选“兼容性”选sp3。 温馨提示: A.分区前卡里面的东西先备份到电脑 B.分区后把卡放进手机一定要重新刷一次ROM(记得要wipe)不然会卡第二屏进不了系统! C.分完区发现打开“我的电脑”识别不到内存卡,不要慌,是你没执行第6个步骤,重新打开分区工具执行第6个步骤即可! D.原理:划分EXT3空间是为了欺骗android系统(Linxu)为手机机身空间。虚拟为手机的内存让程序安装到EXT3空间里面! 既然是最简单的教程,我就不啰嗦了,本教程把内存卡分为两个分区:FAT 32和EXT3两个分区(因为以G7的运行速度根本可以不需要交换区,即SWAP可以为0,也就是说可以省略不分SWAP区) PS:对于要做data2sd的童鞋,也可以用这个软件分区,只是做完了第一个FAT32主分区的时候,第二个主分区也是FAT32主分区而不是做EXT3分区,分完后执行第6步装载第

一个主分区就行!如果是想玩data2ext的童鞋直接分完fat32主分区就分个ext2分区,如果想分ext4的童鞋,可以根据本教程分ext3然后把卡放手机进去recovery里面的partition sdcard后可以看到ext3 to ext4 用轨迹球选中并按一下等升级完了重启手机即可获得ext4分区!祝大家玩的愉快!nice! 分区步骤: 1. 下载并安装“ 内存卡分区工具.zip(1.03 MB, 下载次数: 36067) ” 2. 把内存卡用读卡器连接电脑(别跟我说你想要用手机连接电脑连个读卡器都没有!=。=)格式化为FAT32格式(不要选快速格式化) 3. 删除分区,双击运行刚安装好的“Paragon Partition Manager 7.0 服务器版”出现以下界面: 下载 (29.71 KB) 2010-11-20 17:51 可以看到我已经点选的磁盘1下面的主分区!注意:如果你之前有分过区,此时显示的不会只是一个主分区,而是多个(2个或者3个)!如图(我之前分过FAT32和EXT3两个分区):

C++程序设计第一章函数编程题

6-1工作备忘录的生成(链表)(10分) 每天都要处理很多事务,为了更好地安排工作,希望在每天开始工作前,根据工作记录,生成工作备忘录。首先输入工作记录数(大于0的一个整数),再逐条输入各条工作记录,每条工作记录包括:工作名,开始时间,结束时间。假设每项工作的开始时间均小于它的结束时间,并且各项工作的开始时间互不相同。 我们的工作是需要把这些工作记录按开始时间排序并输出,在输出时,如果某项工作与若干项工作冲突(在做该项工作时,需要同时做其它工作),则在该工作名前加'*'。 函数接口定义: Node*add(Node*,Node*); voiddisplay(Node*); 裁判测试程序样例: #include #includeusi ngnamespacestd; structNode{ stringname; intstart; intend; Node*next; }; Node*add(Node*,Node*); voiddisplay(Node*); boolcheck(Node*head){ if(head==NULL||head->next==NULL)returntrue; Node*p=head->next; if(head->start>p->start)returnfalse; returncheck(p); } intmain(){ Node*head=NULL,*p; inti,repeat; cin>>repeat; for(i=0;i>p->name>>p->start>>p->end; p->next=NULL; head=add(head,p); } if(!check(head))cout<<"ERROR"<

红米手机程序装在外置SD卡EXT2分区详细教程和软件

红米手机程序装在外置SD卡EXT2分区详细教程 相信许多新手机友都有感慨过手机内存太小,软件总是装的不够,于是就会上网寻找解决得办法,接着就会看到一些平常不熟悉的术语如a2sd,EXT2/3等,本教程则较为详细地展示如何进行EXT2分区的过程,需要的机友可以参考。以下教程我亲自操作过,简单实用 具体方法如下: 一,1.首先需要软件PartitionManager9.0,把TF卡插入读卡器后,运行PM软件,启动如下图 2.选择盘符,一般读卡器上的TF卡盘符显示为https://www.sodocs.net/doc/3515369456.html,B...,且为最后一个盘符。我这里演示的是V880自带的2G卡。

3.鼠标右键选中TF卡,选择"移动/ 调整分区大小....."

4.按需调整第三个选择"free space after"选项里面的空间,即即将分配给EXT2分区的大小,我这里约900M,再点确定。看见没有?原来一个分区变为2个了! 5.右键新分出的分区,点击"创建分区"

6.出现新界面后,选择"主分区"-"EXT2分区格式"。这里千万别错了,其它不用动...。点确定继续操作 7.完成后点PM软件左上角的"钩钩",继续.... 8.弹出执行节目...此时你要做的事情就是耐心等待

9.完成后即可。 二,下载z4root.apk和link2sd.apk 三,把z4root.apk和link2sd.apk复制在刚才分区的内存卡FAT32里。 四,把卡装在手机里,安装z4root.apk和link2sd.apk 五,授权给link2sd.apk,需要确认root 权限,点确认就是了,现在我们实验一下 link2SD 的功能,我们把里面自带的 FLASH 插件移动到 SD 卡里,大家可以注意看看手机内存的容量,已经使用28.22M (这里说明一下,手机系统软件,例如电话、短信、通讯录等程序是不能移动到SD卡里的) ------ 打开link2SD,选择你想移动的程序,再选择“创建连接”,注意,是创建连接,不是移动到 SD 卡,我们的SD卡刚刚已经分过区,里面有2个分区,一个是 fat32 分区,一个是EXT 分区,如果选择移动到SD卡,就是使用 app2SD 的功能,移动到 fat32 分区里了 选择要移动到 EXT 分区的软件部分,一般全选即可,当然部分特殊软件,你也可以只移动dex 文件和 so 文件(一个软件安装到手机里的时候,通常会分成 2-3个部分,这个不需要再介绍了吧)

Problem A 编写函数

Problem A编写函数:Swap (I) (Append Code) Time Limit: 1 Sec Memory Limit: 16 MB Submit: 6102 Solved: 4013 [Submit][Status][Web Board] Description 编写用来交换两个数的函数,使得“Append Code”中的main()函数能正确运行。 ----------------------------------------------------------------------------- 用C实现三个函数int_swap()、dbl_swap()、SWAP(),其中SWAP()是个带参宏。 用C++实现两个函数,都以swap()命名。 以上函数的调用格式见“Append Code”。这里不给出函数原型,它们的参数请通过main()函数自行确定。 Input 输入为4行,每行2个数。 Output 输出为4行,每行2个数。每行输出的两数为每行输入的逆序。 Sample Input 12 57 9 -3 -12 4 3 5 Sample Output 57 12 -3 9 4 -12 5 3

HINT “Append Code”中用到的头文件、全局变量或宏的定义应自行补充。Append Code #include usingnamespacestd; voidswap(double&a,double&b) { doublet=a; a=b; b=t; } voidswap(double*a,double*b) { double t=*a; *a=*b; *b=t; } voidswap(int*a,int*b) { int t=*a; *a=*b; *b=t; } intmain() { intx1, y1; cin>>x1>>y1; swap(&x1, &y1); cout<>x1>>y1; swap(x1, y1); cout<>x2>>y2; swap(&x2, &y2);

linux swap分区

最近看到有朋友在我的Blog中问关于Linux环境下swap分区设置的问题,问题如下:“需要设置一个10G的swap分区,是设置成单个10G的好呢,还是5个2G的,还是其他的方案,比如2个5G的分区?” 看来有必要再写一篇Blog来阐述一下这个问题。 在网络上我经常看到这样的经典问答: 问:我的内存大小是xxx,那么我建立的swap多少才合适? 答:大概物理内存的1倍即可。 我认为这种回答是很不负责任的,所谓1倍内存大小或2倍内存大小的swap分区设置,是给那些对Linux系统不是很熟悉的用户的简单建议,这种设置在桌面Linux下是没有什么问题的,最多是占用一些硬盘空间而已。但是在真正的生产环境下,这种设置是很不合理的一种设置。 一、swap分区大小是怎么确定的? 其实swap分区的大小设置是很考验Linux系统管理员水平的一件事情,swap的大小是这样决定的: ( 内存大小 Swap分区大小 ) * 80%或70% >= 程序需要占用总内存数如果系统内存大小已经大于系统中所有任务最大内存使用大小,那么就根本没有必要设置swap分区了,如果这个时候设置上,那么就是白白占用了那些硬盘空间(当然,如果硬盘足够富裕,可以忽略这些占用了)。 那么有的管理员就会说了:我不知道我系统中所有任务最大内存使用大小是多少啊! 我在这里给你一个方法,可以找到这个大小是多少,下面跟着我一步一步来: 1、用swapoff 关掉所有swap 然后正常运行任务,如果出现内存不足的提示,就需要逐步增加swap 2、一般来讲,物理内存达到256m,在安装时即可不用划分交换分区.。 3、可以在安装后建立交换分区,或者建立交换文件。 BTW:swap还有一个用处,就是在机器lock,出现问题的时候内存的内容会自动copy 到swap上面,这样可以有效防止机器故障带来内存中的内容忽然丢失的情况。 二、为什么swap分区不宜过大? 为什么 swap 分区不宜过大,这是由于 Linux 内存分配的特点——它会尽可能多地使用内存(包括swap 分区)。尽量使用内存的目的是加快 IO 处理的速度,比如关掉一个程序,原先占有的内存空间并不立即清空,下一次打开时就不用去硬盘找数据,而直接从内存中读取。但是如果虚拟内存过大,那么保留在内存缓冲区中的数据实际上还是在硬盘中,那对于加快速度就没有多大的作用了。 swap 分区对于物理内存小的机器是必不可少的,假设物理内存只有64M,而某个程序启动最少要256M,如果没有足够的虚拟内存,这个程序是根本打不开的(系统会报内存不足错误,甚至崩溃)。对于程序而言,物理内存和虚拟内存是没有任何区别的,它们只关心空间是否够大。在物理内存够用的情况下可以适当分配一些空间给 swap ,这仅仅是为了偶尔同时开很多大家伙时,防止出现内存不足错误。 三、swap是一个大分区还是多个小分区? 我记得有人说过在fedora和debian的文档中看到过说明,建议swap分区大小不要超过2G。 为什么是2G呢?我觉得首先是由于32位机的文件偏移指针是个无符号整型,所以单个文件偏移最大到2的31次方,也就是2G。其次,旧的文件系统对大文件的支持并不是

超强Android系统SD卡分区教程,加速你的Android系统

强烈分享分区软件 Acronis Disk Director Suite 10 通过读卡器给SD卡分三区的方法 Acronis Disk Director Suite 10 中文免注册版 68MB 下载地址: https://www.sodocs.net/doc/3515369456.html,/groups/@g165358/259136.topic 第一步、安装 Acronis Disk Director Suite 10 中文免注册版 第二步、将SD卡插入读卡器,读卡器再插进电脑USB接口 第三步、打开我的电脑,选择SD卡盘符鼠标右键选择格式化(FAT32)不要选择快速格式化 第四步、打开电脑里面的控制面板选择管理工具选择计算机管理 现在看左边,选择储存 -> 磁盘管理 现在看右边,看到你的 SD卡分区没? 鼠标放在你的 SD卡那个分区上,鼠标右键呼出菜单,选择删除磁盘分区,OK 第五步、打开 Acronis Disk Director Suite 10 你现在实际应该选择的分区顺序和大小是: 分第一个分区“FAT32”格式大小选择,你的卡的总容

量 xxxxMB 减 580MB,得出来的就都是FAT32的空间容量 分第二个分区“EXT3”格式大小选择,580MB-96MB(EXT3这个分区,300-499MB都可以,但注意不要超过499MB)一般来说这个分区大小在四百多MB,这个分区分的时候需要注意,这个区分完后剩余的空间大小不能超过96MB,推荐剩余94.13M,留给最后的一个分区就行了 分第三个分区“Linux交换”格式大小嘛,最后的都是它的咯,推荐94.13M 以上分区的时候,你之前划拨的空间与出来以后显示大小,肯定数字上有出入,这个正常,不去管它,你只要确认你分出来以后的大小就行了! 下面的第18步之前,你要确认你分的区是上面说的三个区,且 ETX3格式分区没有超过499MB、Linux交换格式分区没有超过96MB(或者说94.13MB), 1.点选已删除分区的SD卡,创建新的分区

数值交换

数值交换 如果一个函数要修改传入参数的值,直接传值是不行的。因为这样只是在函数的栈中复制了参数的值,并没有修改实际的参数值。在C中可以通过将参数声明为指针类型达到目的。而在C++中,又多了一种选择,就是可以将参数声明为引用类型,实际上引用就是某种意义上得安全指针。 例题:将数a,b的值进行交换,并且不适用任何中间变量。 考点:两个变量值得交换方法。 出现频率:★★★★ 1#include 2 3void swap1(int &a,int &b) 4{ 5int temp=a; //适用局部变量temp完成交换 6a=b; 7b=temp; 8}; 9 10void swap2(int &a,int &b) 11{ 12a=a+b; 13b=a-b; 14a=a-b; 15}; 16 17void swap3(int &a,int&b) 18{ 19a^=b; // a^=b 等价于a=a^b 20b^=a; 21a^=b; 22}; 23 24int main(void) 25{ 26int a1=1,b1=2; 27int a2=3,b2=4; 28int a3=5,b3=6; 29int a=2147483647,b=1; 30

31swap1(a1,b1); //测试使用临时变量进行交换的版本 32swap2(a2,b2); //测试使用加减运算进行交换的版本 33swap3(a3,b3); //测试使用异或运算进行交换的版本 34 35printf(“after swap…\n”); 36printf(“a1=%d,b1=%d\n”,a1,b1); 37printf(“a2=%d,b2=%d\n”,a2,b2); 38printf(“a3=%d,b3=%d\n”,a3,b3); 39 40swap2(a,b); 41printf(“a=%d,b=%d\n”,a,b); 42 43return 0; 44} 解析: 以上的C++程序中友3个swap函数,都是采用引用的传参的方式。 ■swap1()采用的是教科书里常见的方式,用一个局部变量temp保存其中一个值来达到交换目的。当然,这种方式不是本题要求的答案。 ■swap2()采用的是一种简单的加减算法来达到交换a,b的目的。这种方式的缺点是做“a+b”和“a-b”运算时可能会导致数据溢出。 ■swap3()采用了按位异或的方式交换a,b。按位异或运算符“^”的功能是将参与运算的两数各对应的二进制为相异或,如果对应的二进制位相同,则结果为0,否则结果为1。这样运算3次即可交换a,b的值。 代码第31行~第33行调用3种swap函数。注意40行的调用,在swap2函数栈中的运算会有数据溢出发生。我们知道在32位平台下int占4个字节内存,其范围是-2147483648~2147483647,因此2147483647加1就变成了-2147483648。不过通过运行结果我们可以看到,虽然产生了溢出,但是交换操作依然是成功的。 答案 after swap… a1=2,b1=1 a2=4,b2=3 a3=6,b3=5 a=1,b=2147483647 注意: 采用程序代码中swap2和swap3的交换方式,swap2有可能发生数据溢出的缺点。相比较swap2,推荐swap3采用的按位异或的方式。

交换分区交换分区是硬盘中的一块区域目的是当内存使用太多的时候

交换分区 交换分区是硬盘中的一块区域,目的是当内存使用太多的时候,减轻内存的压力。当内存使用率超过某个阀值时,进程就会占用交换分区以释放内存空间给其他进程。 HPUX 要为每个系统中执行的进程reserve 同样大小的空间在交换分区中,即使这些交换空间不被使用,也依然要为进程预留不能被使用,以防内存不够时作数据交换,当预留的swap区用完时,系统就不能再启动新的进程。 传统上建议swap区是内存的2至3倍,但对于大内存系统,内存越大越不可能发生换页,如果按照这个原则分配swap区,会造成磁盘的浪费,所以HP 引进了伪交换的概念,伪交换只是逻辑意义上的交换区,没有占用任何物理空间,但对于操作系统来说,交换区大小为物理swap区和pseudo-swap(伪交换区)的总和,在HP11.11中,pseudo-swap是物理内存的3/4,在HP11.23中pseudo-swap 和物理内存大小一致。引进伪交换区后,不会发生交换的进程(如kernel进程)可以reserve伪交换区空间,不会reserve物理的swap区,这样大大减少了磁盘的浪费。 有了伪交换区后,物理swap区可以按以下公式计算或者设置为和内存大小一致。 以11.11为例: Swap(dev)=X pseudo-swap=75%physical memory APP/DB required memory=Y X+pseudo-swap=total swap=2Y+buffer cache+dynamic Swapinfo工具可以查看swap区的利用率,一般我们需要关心dev和total的利用率,dev表示物理swap区的使用情况,total表示总的swap区的使用情况,当dev使用率不为0,表明系统有换页发生,内存不足,当total使用率高时,表明系统总的swap区不足,可能导致新的进程无法创建,一般total的阀值设为80%,reserve表明物理swap区中有多少空间被reserver了。 Swapinfo命令示例如下: swapinfo -atm Mb Mb Mb PCT START/ Mb TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME

SD卡分区简单教程

小田教你Sd卡分区,将程序从手机搬到SD卡,空间瞬间够用哒。。。忽忽~~~ 经过学习网上的一些教程以及自己操作过程出现的各种问题,给新人参考一哈子。 首先解释一哈为什么要给SD卡分区? 答:为了android手机能转移安装程序到SD卡并能自动将新下载的软件直接安装到SD卡中. PS:我的S4机身16G,一般情况下分析手机存储空间一定是够的,但我在实际使用过程中竟然出现了手机存储空间不够的提示,当时我手机里仅仅安装了不到20个软件,就以每个软件平均50M为例(实际最多30-40M),那实际软件占用的存储空间仅仅1000M,还不到1G,出现提示的时候我并没有多想,就只想想办法扩充空间,于是想到了运用SD卡,然后就有了今天大半天的辛勤劳动。其实在这个过程中我知道了提示信息的关键所在,那是因为我相册的信息也全部保存在设备里导致存储空间不足。而这个存储位置是支持修改的,修改过来就完全够用了,不过偶很执着,连续分区失败严重激发偶不服输滴精神,坚持要转移到SD卡,然后然后终于成功了! 下面,上菜: 1.电脑上下载Acronis Disk Director Suite汉化包并安装。 该软件是一款简单易用的磁盘分区软件。 2.用读卡器装上SD卡连接计算机 不可直接用手机数据线连接,因为识别方式不同,读取方式也不同。 3.格式化SD卡 也可以不格式化,但我直接格式化了 4.下面进行两次创建分区的操作,一个ext2,一个linux交换区,以下以其中一个为例图 文展示。 A.运行Acronis Disk Director Suite软件,可以看到读出来的盘符 B.选中盘符,点击左上方【创建分区】,出现以下界面:

把swap分区设置在手机内存上让swap分区的读写速度更快更省电减少sd卡的损伤

把swap分区设置在手机内存上,让swap分区的读写速度更快、更省电、减少SD卡的损伤 这是一个傻瓜化的教程,你只需要跟着作者一步一步的来就能成功,教程的目的是开启swap并开机起动,以swap 开在cache为例。第一步:首先,下载附件Swap in ROM.rar (330 Bytes, 下载次数: 1891 ) 解压得到两个文件90userinit 和CreatIMG.sh。。 第二步:将两个文件传到手机内存卡里, 第三步:下载re管理器,如果有请跳过这步。 第四步:用re管理器将CreatIMG.sh从内存卡复制到手机里的/cache目录中,长按CreatIMG.sh选择权限,勾选全部可运行复选框。 第五步:点击CreatIMG.sh运行,之后re选择刷新,会发现/cache目录多了个swap.img,长按它选择权限,勾选全部权限。 第六步:将90userinit复制到手机里的/system/etc/init.d/目录下,并用同样的方式给予权限,权限内容参考目录中的其它文件。 最后重启手机成功。 可用超级终端查看:su回车,free回车,swap分区不全是0,就是成功了

最后,如果你愿意用手机程序存储器的其它分区,如/data,或改变swap大小,则需要编辑两个文件, 在re中长按CreatIMG.sh和90userinit选“用文本编辑器打开”,内容分别如下 “ mount -o remount,rw /cache; swapoff /dev/block/loop7; dd if=/dev/zero of=/cache/swap.img bs=1024 count=20000; free; ” “ mount -o remount,rw /cache;losetup /dev/block/loop7 /cache/swap.img; mkswap /dev/block/loop7; swapon /dev/block/loop7; ” 只需吧文本中的/cache换车你想要的分区目录就行,如/data. 若要改变swap大小,则改变count=20000(即20m)中的数值即可。PS:虚拟内存不必要开太大,推荐开64M,下面是我开了swap的真相。 觉得爽的都顶起吧!!!!!

手机内存卡分区教程+link2sd把程序安装到sd卡第二分区+移动程序到rom系统内存

内存卡分区教程(安卓程序安装在内存卡上) 8月15日更新link2sd1.7汉化版,中文升级更给力! A、系统自带的app2sd不给力,许多应用无法装到卡上; B、装到卡上应用多了,担心运行速度慢,怕影响手机性能!…… 此贴只需使用两个软件即可帮我们这些新手轻松解决这些烦恼,所有操作由用户自己管理,而且是可逆的,方便、易用,请耐心看完此贴,你会发现原来这样简单! 一、将SD卡进行分区 因为android系统是基于linux内核的手机系统,只支持linux特有的系统分区ext分区安装应用程序,所以我们需要对sd卡进行分区,一个ext分区,一个fat32分区共两个分区。ext分区用来安装应用软件,fat32分区作为存放数据的磁盘。 1、首先在电脑上安装下面的分区工具,win7运行不了的话,兼容性里选择XP SP2(3)就可以了,winxp无压力。 分区工具: 2、安装之后,将sd卡装入读卡器插入电脑usb口(不能使用数据线),备份好SD卡的内容,然后开始进行分区,和分区硬盘是一个道理,我们要分成两个区,第一个区是FA T32的,用来存储照片和其他个人资料。第二个区是EXT3的,用来存储APP2SD的程序文件。 删除旧分区

把卡插到电脑上,然后打开软件。选择好要格式化的盘符,我这张卡是1GB的。然后点击【删除】,删除原来的分区。 删除原来的分区,名字就输入"no name"(不分大小写)和上面一致就可以了。 创建FAT32分区

删除了旧分区,我们开始创建新的分区,还是选择好盘符,点击【创建】。 在【新大小】后输入FA T32格式下你想要的容量。存储照片歌曲都是这个分区,相当于你手机原来的存储卡部

如何利用函数和指针交换两个数

1、利用函数交换两个数a和b的值,但是没有成功,为什么?函数的内部数值已经交换了!#include void main() { void swap(int,int); int a=3,b=5; swap(a,b); printf("a=%d,b=%d\n",a,b); } void swap(int m,int n) { int c; c=m;m=n;n=c; printf("m=%d,n=%d\n",m,n); } 运行结果:m=5,n=3 a=3,b=5 解释:主函数中a和b的值没有调换,这是因为当a和b的值传递给形参m和n,在swap 函数中只是对形参m和n的值进行了调换,而实际参数并没有被影响到! 2、修改上述程序,利用指针来实现调用函数交换值! #include void main() { void swap(int *,int *); int a=3,b=5; int *p1=&a,*p2=&b; swap(p1,p2); printf("a=%d,b=%d\n",a,b); } void swap(int *m,int *n) { int c; c=*m;*m=*n;*n=c; printf("*m=%d,*n=%d\n",*m,*n); } 运行结果:*m=5,*n=3 a=5,b=3 解释:本例中函数的参数是指针,也就是说传递给swap函数的是a和b在内存中的地址(不

是其值),这样对swap函数进行操作时,形参m、n和实参p1、p2指向的都是a和b,在swap函数内部交换了*m和*n的值,也就相当于交换了*p1和*p2的值,故最后的结果是主函数中a和b的值调换了! 3、再给这个程序修改一下: #include void main() { void swap(int *,int *); int a=3,b=5; int *p1=&a,*p2=&b; swap(p1,p2); printf("a=%d,b=%d\n",a,b); } void swap(int *m,int *n) { int *c; *c=*m;*m=*n;*n=*c; printf("*m=%d,*n=%d\n",*m,*n); } 解释:这个程序是有危险的,因为在swap函数中定义了一个指针变量c,但是没有给c赋初值,c有可能随意指向了存放系统参数的内存地址,这样,当进行*c=*m;*m=*n;*n=*c;这一步的时候可能会替换掉系统中重要的数值导致不可预知的情况发生! 可以稍加修改,在swap函数中给指针变量c赋个初值即可,也能达到交换主函数a和b值的目的! 如下:#include void main() { void swap(int *,int *); int a=3,b=5; int *p1=&a,*p2=&b; swap(p1,p2); printf("a=%d,b=%d\n",a,b); } void swap(int *m,int *n) { int *c,d; c=&d; *c=*m;*m=*n;*n=*c; printf("*m=%d,*n=%d\n",*m,*n);

【习题】函数调用

函数调用 【实验目的】: 1. 掌握函数的定义和调用方法。 2. 练习重载函数的使用。 3. 练习有默认参数值的函数的使用。 4. 练习使用系统函数。 5. 熟悉多文件工程结构。 【实验内容】: 1.编写函数int add(int x, int y),实现两个整型数据x,y的求和功能。 ·要求:使用Visual C++的Debug调试功能,记录在函数调用时实参和形参的值的 变化。 2.编写一个求x的n次方的程序int pow(int m, int n),计算m的n次方的结果。 3.利用上题中设计两个函数,设计一个求两个整数的平方和的程序。要求如下: a)主函数中调用求和函数: int add(int x, int y); b)求和函数add中调用上题设计的int pow(int m, int n)函数来计算其平方。

4.多文件程序结构:一个文件可以包含多个函数定义,但是一个函数的定义必须完 整的存在于一个文件中。要求: a)将add函数的声明部分放在头文件(add.h)中,实现部分放在源文件(add.cpp)中。 b)将pow函数的声明部分放在头文件(pow.h)中,实现部分放在源文件(pow.cpp) 中。 c)在main函数中调用add函数,计算从屏幕终端输入的两个数据之和。(main函 数的实现在main.cpp中) 5.将第2题设计的pow函数修改成为递归函数。

6.设计一个函数int fac(int n),利用函数的递归调用,来计算n!(n的阶乘)。 ·要求:单步调试程序,记录递归函数的调用过程。 7.使用系统函数pow(x,y)计算x y的值,注意包含头文件cmath。 8.从键盘输入两个数字,分别赋值给变量a、b,设计一个子函数swap,实现这两个数字交换次序。(注:根据需要自己设计函数的参数及返回值) ·要求:使用Visual C++的Debug调试功能,记录在函数调用时实参和形参的值的变化。 9.设计一个函数,求圆的面积。 要求:在主函数中调用子函数calArea计算圆的面积。并将calArea函数设计为内联函数。

【教程】如何把软件装入内存卡及内存卡分区教程

看到论坛好多的童鞋询问如何把软件件装入内存卡 为了让大家不再费劲的询问 转载一篇超详细的教程过来部分内容做了修改和连接 首先最简单的方法就是通过电脑端的豌豆荚91助手360等软件强制安装到手机内存卡 方法简单不再详细描述 但是缺点是手机启动后要经过漫长的软件读取软件安装后插件不可用 下面请看进阶篇如何给内存卡分区及通过link2sd把程序安装到sd卡第二分区 为了有效的解决上述问题高手发现了给内存卡分区的方法下面请看教程 只需使用两个软件即可帮我们这些新手轻松解决这些烦恼,所有操作由用户自己管理,而且是可逆的,方便、易用,请耐心看完此贴,你会发现原来这样简单! 一、将SD卡进行分区 因为android系统是基于linux内核的手机系统,只支持linux 特有的系统分区ext分区安装应用程序,所以我们需要对sd卡进行

分区,一个ext分区,一个fat32分区共两个分区。ext分区用来安装应用软件,fat32分区作为存放数据的磁盘。 1、首先在电脑上安装PM分区工具,win7运行不了的话,兼容性里选择XP SP2(3)就可以了,winxp无压力。 分区工具: 2、安装之后,将sd卡装入读卡器插入电脑usb口(不能使用数据线),备份好SD卡的内容,然后开始进行分区,和分区硬盘是一个道理,我们要分成两个区,第一个区是FAT32的,用来存储照片和其他个人资料。第二个区是EXT3的,用来存储APP2SD的程序文件。 删除旧分区 把卡插到电脑上,然后打开软件。选择好要格式化的盘符,我这张卡是1GB的。然后点击【删除】,删除原来的分区。 删除原来的分区,名字就输入(不分大小写)和上面一致就可以了

增加、删除、修改LINUX SWAP区

在REDHAT LINUX 5.5 X86_64操作系统上安装ORACLE 10G 时发现,SWAP 分区只有786M,安装程序check时报错。 REDHAT LINUX 5.5 是安装在VMWARE 的一个虚拟机上。分配了一个10G的磁盘用于安装操作系统和补丁包,分配了一个10G的磁盘用于安装ORACLE软件(ORACLE RDBMS SERVER和GRID CONTROL)。本文就如何修改LINUX SWAP 区,进行了一些实验操作。 [root@linux_oracle ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1305 10377990 8e Linux LVM Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table [root@linux_oracle ~]# vgs VG #PV #LV #SN Attr VSize VFree VolGroup00 1 1 0 wz--n- 9.12G 0 oravg 1 1 0 wz--n- 10.00G 96.00M [root@linux_oracle ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert LogVol00 VolGroup00 -wi-ao 9.12G LogVol01 VolGroup00 -wi-ao 768M lv_oracle oravg -wi-ao 9.90G [root@linux_oracle ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 VolGroup00 lvm2 a- 9.12G 0 /dev/sdb oravg lvm2 a- 10.00G 96.00M

相关主题