搜档网
当前位置:搜档网 › 修改SWAP分区大小

修改SWAP分区大小

修改SWAP分区大小
修改SWAP分区大小

ORACLE11G安装文档

1.安装包检测及安装

在终端中执行:rpm -q gcc make binutils setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat

上面package 软件包is not installed 部分说明此软件包没有安装,您可以再光盘里面找,再用rpm -ivh 安装就行,这些包在centos 安装盘中都用;或者直接用yum install 软件包来安装,具体操作如下:

yum install –y XXXXXXX(文件名)

如上所述:还是有4 个软件包没有安装,这个不用理会,其实我们刚才安装的compat 包已经包含

注意,除了上面的软件需要安装外,安装最新的Oracle Database 11 g 第 2 版

还需要安装:

pdksh

所以需要运行:yum install pdksh elfutils-libelf-devel

2. 系统参数和用户及目录设置

// 系统参数设置

注意每一次修改完内核参数后,需要用下面命令使修改生效

/sbin/sysctl –p

vi /etc/sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux

#

# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and

# sysctl.conf(5) for more details.

# Controls IP packet forwarding

net.ipv4.ip_forward = 0

# Controls source route verification

net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing

net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename

# Useful for debugging multi-threaded applications

kernel.core_uses_pid = 1

# Controls the use of TCP syncookies

net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes

#kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue

#kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes

#kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages

#kernel.shmall = 268435456

#Below for oracle11g

fs.aio-max-nr=1048576

kernel.core_uses_pid = 1

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 9000 65500

// 添加用户组及用户

执行如下命令:

#groupadd dba 创建用户组dba

#groupadd oinstall 创建用户组oinstall

#useradd oracle -g oinstall -G dba 添加用户oracle 使其属于组oinstall 和附加组dba #passwd oracle 设置用户oracle 的密码

// 新建目录权限

执行如下命令:

#mkdir -p /u01 新建目录/u01

#chown -R oracle:dba /u01 将目录/u01 (递归)属主和属组分别更改为oracle dba #chmod -R 755 /u01 将/u01 权限赋值为755

// 用户环境变量

先切换用户到oracle:

su – oracle

修改.bash_profile 文件:

vi .bash_profile

以下是此文件的内容:

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:HOME/bin

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.1.0.6

export ORACLE_SID=sales

export PA TH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin export TNS_ADMIN=$ORACLE_HOME/network/admin

export LD_LIBRARY_PA TH=$LD_LIBRARY_PA TH:ORACLE_HOME/lib

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export ORA_NLS10=$ORACLE_HOME/nls/data

unset USERNAME

umask 022

为oracle 用户设置Shell 限制

以root 用户的身份执行下列命令:

cat >> /etc/security/limits.conf <

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

EOF

cat >> /etc/pam.d/login <

session required /lib/security/pam_limits.so

EOF

cat >> /etc/profile <

if [ \$USER = "oracle" ]; then

if [ \$SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

EOF

cat >> /etc/csh.login <

if ( \$USER == "oracle" ) then

limit maxproc 16384

limit descriptors 65536

umask 022

endif

EOF

3.安装进入oracle 目录安装数据库

首先需要手动解压缩linux_11gR2_database_1of2.zip linux_11gR2_database_1of2.zip 这两个软件包,然后将解压的内容放到一个文件夹。比如放到oracle_database11g 中

注意:两个文件夹中有同名的部分,需要合并在一起而不是覆盖。解压后的子目录database 也有同民的文件夹stage ,而stage 里面的Components 也需要合并在一起。这个注意一下。

然后进入解压并合并的目录比如我的oracle_database11g

[oracle@localhost home]$ cd ~/oracle_database11g/database

执行./runInstaller

[oracle@localhost database]$ ./runInstaller

就会生成安装步骤,然后按步骤安装即可。

也许会提示缺少程序包XXX ,所以需要运行yum install XXX 来安装他

如果你安装过程需要什么软件包,那么你安装即可以了。具体情况具体分析。

在安装最后需要按照提示运行2个脚本文件

至此oracle11g 安装完成。

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,按下确

硬盘分区与格式化教案(DOC)

江苏省徐州技师学院理论授课教案(首页) 授课日期2016.11.7 2016.11.8 任课老师班级16程序2,16信管2 16程序1,16媒体赵启辉 课程:计算机组装与维护 课题:硬盘分区与格式化 教学目的要求:1、使学生了解硬盘使用过程;2、使学生掌握硬盘分区的步骤;3、使学生掌握分区工具的使用方法;4、提高学生的动手能力及实际操作能力 教学重点:掌握多种硬盘配置的方法。 教学难点:掌握在不同的条件下对硬盘分区格式化的方法。 授课方法:讲授法、列举法、引入法、分析法等 教学参考及教具(含多媒体教学设备)投影、多媒体计算机 授课执行情况及分析: 板书设计或授课提纲 1、硬盘使用过程 2、硬盘分区的步骤 3、分区工具的使用方法

教学环节及时间分配教学内容教学方 法 组织教学10’ 讲授主课40’一、课前提问 1. 描述计算机主机的基本部件。 2. 组装计算机主机的步骤。 二、导入新课 在安装操作系统之前首先要对硬盘进行分区格式化。 对硬盘分区格式化会破坏硬盘中的数据。所以在此之前一 定要对硬盘中的数据进行备份。 提问学生:你们是否有过对硬盘进行分区格式化操作 的经验? 你喜欢用什么方法对硬盘进行分区格式 化? 引导学生思考、回答并相互补充。 教师总结归纳同学们的回答,进入教学课题。 三、新课教学 硬盘的分区与格式化 1 基本知识:硬盘的数据结构 1.1 硬盘的分区与格式化 提问:硬盘的格式化有低级格式化和高级格式化两 种,它们之间有什么区别? 学生思考、看书、回答; 教师总结: 现在制造的硬盘在出厂时均做过低级格式化,用户一般不必重做。除非 所用硬盘坏道较多或染上无法清除的病毒,不得不做一次低级格式化。 低级格式化的主要目的是划分磁柱面(磁道),建立扇区数和选择扇区 的间隔比,即为每个扇区标注地址和扇区头标志,并以硬盘能识别的方式进 行数据编码。 讲授 多媒 体教 学

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"<

不重新安装系统如何扩大C盘系统盘

重要提示: 1. 本操作方案涉及调整硬盘分区结构,存在丢失硬盘数据的风险(分区表正常的情况下,系统分区数据将不会丢失),但建议您在调整分区之前,注意保存好整个硬盘中的数据,将数据备至至U盘、移动硬盘或其他外置存储设备中。 2.C盘分区大小改变后,会导致一键恢复时提示“分区变化太大,无法恢复”等问题,您需要慎重考虑。 3. 本操作方案只适用于32bit/64bit 全系列Windows Vista、Windows 7及Windows 8操作系统,但不支持Windows XP(含)及以下版本 4. 本操作方案只可支持单向操作,即只支持扩大分区,但不支持从大分区缩小至小分区的操作。 操作方法如下: 1.请保存并关闭当前所有运行的程序。 2.备份硬盘中的所有数据 3.Windows Vista及Windows 7操作系统: 点击“开始”,“计算机”图标点击鼠标右键,选择“计算机管理”,并在弹出的窗口中,左侧选择“磁盘管理”; Windows 8操作系统按键盘上的“Win + X”组合键,在菜单中点击“磁盘管理”,也可以将鼠标移动至屏幕左下角,然后点击鼠标右键,在弹出的对话框中选择“磁盘管理”。 4.在除C盘以外的其他分区上点击鼠标右键(本例为D盘),选择“删除卷”;

5.会弹出“删除简单卷”提示框,请确认是否删除当前简单卷,请务必确认当前数据是否已经备份至外部存储设备中,如还没有备份,请点击“否”,先进行数据备份;如已经备份,点击“是”进入下一个环节; 6.如当前分区还有正在使用的文件或运行中的程序,将会有如下图提示,再次确认是否已经备份,如果没有备份,点击“否”;如果已经备份,点击“是”可进行强制删除;

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);

目前最全的手动优化系统技巧

一、每天关机前要做的清洗: 双击“我的电脑”——右键点C盘——点“属性”——点“磁盘清理”——点“确定”——再点“是”——再点“确定”。清理过程中,您可看得到未经您许可(您可点“查看文件”看,就知道了)进来的“临时文件”被清除了,盘的空间多了。对D,E,F盘也要用这法进行。 二、随时要进行的清理: 打开网页——点最上面一排里的“工具”——点“Internet选项”——再点中间的“Internet临时文件”中的“删除文件”——再在“删除所有脱机内容”前的方框里打上勾——再点“确定”——清完后又点“确定”。这样,可为打开网和空间提高速度。 三、一星期进行的盘的垃圾清理: 点“开始”——用鼠标指着“所有程序”,再指着“附件”,再指着“系统工具”,再点“磁盘粹片整理程序”——点C盘,再点“碎片整理”(这需要很长时间,最好在您去吃饭和没用电脑时进行。清理中您可看到您的盘里的状况,可将清理前后对比一下)——在跳出“清理完成”后点“关闭”。按上述,对D,E,F盘分别进行清理。 电脑系统越来越慢,怎么删除临时文件啊 1.关闭"休眠" 方法:打开[控制面板]→[电源选项]→[休眠],把"启用休眠"前面的勾去掉 说明:休眠是系统长时间一种待机状态,使您在长时间离开电脑时保存操作状态, 如果您不是经常开着电脑到别处去的话,那就把它关了吧! ☆立即节省:256M 2.关闭"系统还原" 方法:打开[控制面板]→[系统]→[系统还原],把"在所有驱动器上关闭系统还原'勾 上 说明:系统还原是便于用户误操作或产生软件问题时的一种挽救手段,可以回复到误操作以前的状态.不建议初级用户使用.当然,它采用的是跟踪手段,需要记录大量信息,所消耗的资源也要很大的. ☆立即节省:数百M (根据还原点的多少而不同) 您也可以在不关闭系统还原的前提下,相应的减少系统还原所占的磁盘空间,这只会减少可用还原点的数目,一般还原点有一两个就够了吧. 方法:...[系统还原]-选择一个"可用驱动器"-[设置]-调整"要使用的磁盘空间" 3.关闭"远程管理" 方法:打开[控制面板]→[系统]→[远程],把"允许从这台计算机发送远程协助邀请" 前面的勾去掉. 说明:谁会经常用到这种功能呢?它占用的不是磁盘空间,但是会影响系统运行速度. ☆提高系统性能

怎么调整磁盘分区的大小

怎么使用扩展分区向导来扩大C盘 (分区助手使用手册) 系统分区C盘空间不足的问题出现时,这可能是必须要解决的。因为C盘是系统盘,没有足够的空间将会使电脑变慢,影响程序或游戏的运行。在买电脑时C盘可能有足够的可用空间,但随着对电脑的使用,应用程序安装的越来越多,虽然很多程序都安装到D盘,但个别程序仍然会占用C盘的部分空间,久而久之,系统分区C盘的可用空间将越来越少,最终不得不从其它盘划分一些空间出来以增加C盘的大小。 增大C盘的大小在传统分区软件中通常的做法是:首先缩小其它盘(如缩小D盘)以让C盘后面产生一块紧邻的未分配空间,然后再扩展C盘。注意:扩大C盘的前提是C盘后面或前面必须要有一块紧邻的未分配空间。如果未分配空间不紧邻于C盘,则不能扩大C盘。这里使用分区助手中内嵌的扩展分区向导将打破这一传统的做法,它使的增大分区的大小,由其是增大系统盘的大小变成更简单,更易操作。 扩展分区向导 扩展分区向导是内嵌在分区助手中的一个很有用的工具,你只需要点击几次下一步并拖动一下滑块条即可完成对系统盘(通常是C盘)的扩大任务。这是当前磁盘分区管理软件中最简单的为C 盘增加容量的办法。另外这个向导也可以扩大非系统盘,下面以扩大C盘为例的使用步骤: 1、下载免费的分区助手,然后安装并运行它。你将看到下面的主界面,请点击蓝色圈住的选项“扩展分区向导”。如图1: 图1 2、然后将启动扩展分区向导窗口,在这个窗口中选中“扩展系统分区”选项并点击“下一步”按钮,如下图2:

图2 3、在点击上图的下一步后,进入这个页面,你可以简单的读一下页面中所写的内容,然后直接点击“下一步”按钮,如下图3:

win7无损分区教程详解

win7无损分区和调整合并 计算机2010-03-24 22:56:45 阅读2146 评论9 字号:大中小 一、前言 格掉双系统,C盘用来装win7之后,一直感觉C盘有点小,才15G,当初分区时估计考虑一直会用双系统,所以分得有点小了,虽然win7装下来才8G多一点,但个把月用下来,就会扩张到12G左右,到这个时候,剩余空间小了,系统运行总会有点影响,就只好还原系统了,还真麻烦。 早就知道有这么个在win7之下可无损调整分区大小的软件,看网上的教程,感觉好像很完美,安全。不过呢,当初在家里的台式机上,用Partition Magic调整分区的教训,始终有阴影。可能当时经验不足吧,弄得损坏了分区表,无法进入系统。后来进入PE后,整个硬盘格式化,仍然没法重装系统,总之是一团糟。后来才用diskfix修复好了分区表。 这次考虑了良久,才决定再尝试一下。最初的想法是,从D盘分5G到C盘。 二、软件简介: 1. Acronis Disk Director Suite是目前唯一的一款能在vista和WIN7下完美工作的无损分区软件。大家熟悉的Partition Magic (分区魔术师) 无法读取vista和WIN7特殊的3+1分区方式,无法使用。 2. 中文界面,操作方便。能够方便的无损调整、移动、复制、拆分、合并磁盘分区;只要按照正确的方法操作,不会有任何风险。 3、分区操作不会破坏隐藏分区(拥有系统恢复功能本本一般都有隐藏分区),不会导致丢失任何数据。它对分区的操作不会破坏你的原系统,不会破坏你硬盘上的文件,甚至连OEM本本的系统恢复程序都能完美保留下来。当你分区完以后你就可以大大方方地卸载了它,不会对你电脑有任何影响的。 4、兼容XP、Vista、WIN7等操作系统,支持台式机、袖珍机、笔记本等各种机型。 5、支持对大容量硬盘进行有效操作。 6、另集“多重启动管理”“丢失分区恢复”“磁盘高级编辑”功能,对安装双系统很有用! 7、该软件集合了四大工具包: (1)、Acronis Partition Expert : 这个软件用来更改分区大小,移动硬盘分区,拷贝复制硬盘分区,硬盘分区分割,硬盘分区合并,绝对无损硬盘数据。 (2)、Acronis OS Selector : 硬盘安装多系统有福了,用它来控制多启动界面。 (3)、Acronis Recovery Expert : 强悍的工具,用来扫描和恢复丢失的分区。 (4)、Acronis Disk Editor: 硬盘修复工具,比较专业,允许对硬盘磁盘进行高级操作,利用硬盘引导记录表操作和16进制编辑。三、安装方法

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。其次,旧的文件系统对大文件的支持并不是

Win7分区大小随意更改

Win7分区大小随意更改用个软件就搞定 很多老用户在升级到Win7以后,突然发现硬盘分区大小并不合适,有的分区根本不够用,有的却富余了不少容量,这时候如果想要重新分区,就得对硬盘重新格式化,硬盘上的数据全都会丢失。有没有直接在系统里调节分区容量的软件呢?在XP系统里我们可以使用PQ、PM魔法分区来管理磁盘分区,可是安装了Win7系统以后,突然发现这些磁盘分区管理工具不能运行了!这下该怎么办呢? 多数磁盘分区工具都无法在Win7下正常运行 这里我们向大家推荐一款磁盘分区管理工具 Acronis Disk Director Suite 。它能够方便快捷的实现磁盘大小的重新划分! 最新版本是:Acronis Disk Director Suite v10.0.2160,建议下载简体中文版。 Acronis Disk Director Suite是目前唯一的一款能在Vista和Win7下完美工作的无损分区软件。大家熟悉的Partition Magic (分区魔术师) 无法读取vista和Win7特殊的3+1分区方式,无法使用。而Vista本身的磁盘管理软件有很大的局限性,无法充分利用可分配空间,故不推荐。 分区操作不会破坏隐藏分区(拥有系统恢复功能的本本一般都有隐藏分区),不会导致丢失任何数据。它对分区的操作不会破坏原系统,不会破坏硬盘上的文件,甚至连OEM本本的系统恢复程序都能完美保留下来。当你分区完以后你就可以大大方方地卸载了它,不会对你电脑有任何影响的。 实战调整硬盘分区大小 选择需要增加硬盘的硬盘。安装完成运行软件后,点击左上方的“增加空闲空间”,从这里开始调节分区的容量大校,锁定要增加容量的分区,接着“选择要增加的分区”,也就是需要将容量变大的分区。在下方的分区图标上点击选定后,点击“下一步”。

数值交换

数值交换 如果一个函数要修改传入参数的值,直接传值是不行的。因为这样只是在函数的栈中复制了参数的值,并没有修改实际的参数值。在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采用的按位异或的方式。

Windows 7 系统盘手动分区、安装系统图解

Windows7系统盘手动分区、安装系统图解 首先需要下载微软Windows7系统的镜像,品牌笔记本一般需要下载Windows7旗舰版,便于OEM激活。论坛上有提取品牌笔记本“证书”“KEY”和OEM激活的方法的帖子,这里不做赘述。 光盘刻录前用UltraISO(软碟通)打开Windows7旗舰版iso镜像。删除sources 目录下的ei.cfg文件,另存为iso。安装时会显示:旗舰版、专业版、、家庭高级版(或普通版)、WINDOWS7简易五个版本。 现在我们手上有了Windows7系统安装盘或启动U盘,并设置好了光驱(U盘)优先启动。安装前请备份个人资料,并准备好驱动安装光盘。 如果你的网络环境是安装后就直接可以上网的情况,例如路由上网、小区宽带的情况,安装系统的时候,请先拔掉网线,否则极易感染病毒,安装好杀毒软件和防火墙后再插上网线。 下面是在虚拟机中做的安装Windows7系统的图文简介…… 1)把Windows7安装光盘放入光驱,启动计算机,看到电脑屏幕上显示“Press any key to boot from CD or DVD....”字样时,快速按键盘上的任意键将進入安装画面。如果超时未按,计算机将从硬盘启动。

2)语言选择界面==》下一步 3)现在安装

4)选择需要安装的系统(Windows7五个版本任意选)==》下一步

5)我接受许可条款==》下一步

6)如果硬盘上已经有了操作系统,安装程序会询问你是升级安装还是自定义全新安装,由于不想要原来的系统了,所以选择自定义全新安装。

7)驱动器选项(高级)

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

交换分区 交换分区是硬盘中的一块区域,目的是当内存使用太多的时候,减轻内存的压力。当内存使用率超过某个阀值时,进程就会占用交换分区以释放内存空间给其他进程。 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

windows 2003下调整分区大小

windows 2003下调整分区大小 windows 2003中调整分区大小的方法 先在需要扩展的右边留出未分配的磁盘空间,可以通过我的电脑右键管理磁盘管理来操作首先进入cmd界面 然后输入Diskpart 这个时候进入DISKPART> 界面 然后你先选择磁盘,一般第一个为select disk 0 然后用list partition 查看你需要分区的盘符 select partition 数字(比如1) 来选择它,然后用list partition 查看是否有 *号在前面,如果确认了,那么就输入 Extend 系统会提示成功地扩展了卷 就如此简单的完成了分区的扩展,什么软件都不需要装 下面是网上找的详细的介绍 可能大家都知道,在Windows Server 2003下,普通版本的分区魔术师是无法运行的,而Windows内置的命令行工具Diskpart则能胜任分区魔术师的大部分工作,它的功能非常强大。输入Diskpart后,将显示如图所示的专用提示符即Diskpart>(注意:这不是一个路径),在这一环境下可输入很多与之相关的同时也是它专用的子命令。在下面这个精心设计的案例中,各位朋友就能看到Diskpart是怎样在不破坏数据的前提下为分区扩容的,这无疑为我们管理分区提供了一套全新的方法。 步骤一:打开Diskpart集成环境 启动到带命令提示符的安全模式下,输入Diskpart。 接下来先输入list disk显示已安装的硬盘,从图中可看出,只有一个硬盘,显示为disk 0(如果安装了两个硬盘,第2硬盘将显示为disk 1)。再输入“select disk 0”选择这个硬盘(也可称为为该硬盘设置焦点属性)。然后输入list partition 显示分区,显然,其中有两个主分区、两个扩展分区。 步骤二:删除分区3 输入select partition 3使分区3(5004MB的那个)具有焦点属性,再输入delete partition即可删除该分区。请将图中第1、2两个List partition命令后的值进行比较,不难看出,原分区3确实已被删除了。 提示:输入select Partition 3后,如果再输入list partition命令,就能看到分区3前有一个*号。任何具有焦点属性的硬盘或分区前都有一个*号,这样能使用户对当前操作对象一目了然。 步骤三:分区扩容 输入select partition 1使其具有焦点属性,再输入Extend,刚才删除分区所空出来的末分配空间就能自动添加到第1分区中去。再输入list partition可观察到分区1的容量变化情况,请比较图1中第1、3两个list partition命令后的值,就能看出这一点。

把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的真相。 觉得爽的都顶起吧!!!!!

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

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);

WIN7系统增加C盘空间不丢数据【超详细】

前面MK已经详细地介绍了Acronis Disk Director Suite安装教程,下面主要为大家写关于如何使用硬盘分区工具Acronis Disk Director Suite增大分区空间和建立一个新的分区。其他功能在这里就不一一介绍,主要介绍上面提到的两个人们比较常用的功能。 如何增加分区空间 步骤1.运行Acronis Disk Director Suite v10,提示选择Automatic Mode(自动模式)或者Manual Mode(手动模式),建议选择手动模式; 步骤2.选择左侧Winzard选项中的“Increase Free Space”,然后选择你需要增加空间的分区,这里示范为C盘;

步骤3.选择要从哪个分区分切空间(这里示范为F盘),点击next进行下一步; 步骤4.调整要改变分区的空间大小,你可以通过拖动或者直接输入数值调整,点击next继续下一个步骤;

步骤5.显示最新分区的空间大小分布,点击next即可; 步骤6.最后一步,也是非常关键的一步,点击黑白格子旗执行刚才所有步骤的操作命令,重启后调整分区(需要耐心等待,笔记本的话最好连上电源)。

如何增加一个新的分区 步骤一:与如何增加任意分区空间的第一步相同,如曾经设置过模式,则直接进入软件界面;步骤二:选择左侧Winzard选项中的“Create Partition”,然后选择你为新分区腾出空间的分区,这里示范为F盘;

步骤三:设置新分区空间的大小 步骤四:选择新分区的类型,如果新建的分区用于装系统,选择主要;如果是普通用途,选择逻辑。

怎么调整磁盘分区的大小

傲梅分区助手 怎么调整磁盘分区的大小 在买电脑装机时,磁盘分区与设置分区大小的问题一般都是由装机人员设定的,这点并没有引起太多购买者的注意。一般情况下在装机时都将一个磁盘分成4个分区,有时候是系统分区C盘太小,数据盘太多或C盘太多,其它数据盘太小。甚至还有一个硬盘的所有容量都划分给系统盘使用。总之就是磁盘分区可能不合理,这时怎么解决呢?这时就需要重新调整硬盘分区的大小,下面是分区助手调整分区大小的操作步骤。 调整分区实例 任务环境: 假设用户的Windows 7系统中有一个36GB磁盘,其上有3个分区,一个是100MB的保留分区E 盘,第二个是系统分区C盘15.01GB,第三个是数据分区F盘20.89GB。 任务目标: 由于这个系统是个Windows7系统,C盘只有15.01GB的容量显得有点小了,因此想调整系统分区C盘的大小从15GB到20GB。 操作原理: 由于F盘有多余的空间,因此可以从F盘划分一些空间给C盘。即压缩F盘到15.90GB,并扩大C盘到20GB。 操作步骤 1、下载免费的分区助手,并安装到电脑中,然后启动它,你将看到下面的主界面,同时也可以看到C分区是15.01GB,F分区是20.89GB,如图1所示。

图1 2、现在来缩小(即压缩)F盘到15.90GB,在F盘上右击在弹出的菜单中选择“调整/移动分区”选项,然后你将看到如图2所示的窗口,向右拖动左边的手柄以缩小F盘15.90GB。

图2 3、在点击上图2的确定之后将返回到主界面,同时你将看到C盘后面多出一块大小为4.99GB 的未分配空间,如图3。

图3 4、右击C盘在弹出的菜单中选择“调整/移动分区”选项如下图4所示。

相关主题