linux如何分配大内存

linux如何分配大内存,第1张

下面是哥去考RHCSA时做的笔记

创建交换分区

eg:应用程序-系统工具-磁盘实用工具-创建分区-类型-交换 分区

mkswap /dev/ha*

free 看到总交换分区的大小

swapon /dev/ha* 开启交换分区

free 查看总分区大小是否多了

swapon -s 查看swap分区

Vim /etc/fstab

/dev/ha* swap swap defaults 0 0

有必要的话,可以重启查看一下

linux下,建议新手分区时只分两个:一个“SWAP”分区,大小为内存的两倍,一个“/”分区大小为全部可用空间。

这里把Linux分区问题详细地介绍一下,以Red Hat Linux7.1为例。

首先我们要对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区

(Primary Partion)和扩充分区(Extension Partion)两种,基本分区和扩充分区的数目之

和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才

能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是

逻辑分区(Logical Partion),况且逻辑分区没有数量上限制。

对习惯于使用Dos或Windows的用户来说,有几个分区就有几个驱动器,并且每个分区都

会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们

的文件结构都是独立的,非常好理解。但对这些用户初上手Red Hat linux吗, 可就有点恼

人了。因为对Red Hat linux用户来说无论有几个分区,分给哪一目录使用, 它归根结底就

只有一个根目录,一个独立且唯一的文件结构。 Red Hat linux中每个分区都是用来组成整

个文件系统的一部分,因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了

一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的

存储空间在一个目录下获得。下面我们先来看看Red Hat linux的驱动器是如何标识的。

对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是

指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),

“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑

分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个

IDE硬盘上的第二个主分区或扩展分区。对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用

“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样,不在多说。

我们从上面可以看到,Red Hat linux的分区是不同于其它 *** 作系统分区的, 它的分区

格式只有Ext2和Swap两种,Ext2用于存放系统文件,Swap则作为Red Hat linux的交换分区。

那么现在我们就可以知道Red Hat linux至少需要两个专门的分区(Linux Native和Linux

Swap)况且不能将Red Hat linux安装在Dos/Windows分区。一般来说我们将Red Hat Linux

安装一个或多个类型为“linux Native”的硬盘分区, 但是在Red Hat Linux的每一个分区

都必须要指定一个“Mount Point”(载入点),告诉Red Hat linux在启动时,这个目录要

给哪个目录使用。对“Swap”分区来说,一般定义一个且它不必要定义载入点。 下面我们先

对“linux Native”和“Linux Swap”有个初步的了解。

*SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起

来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定“Mout Point”(载入点),

既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,

一般来说它的大小是内存的两倍。具体如下:当顺利启动了安装过程后,会显示一个boot:提示符,

这时你只要键入boot:linux mem=1024MB就可以了(假定你的电脑内存为512MB)。另外你也可以创建和使用一个以上的交换

分区,最多16个。

*linux Native是存放系统文件的地方,它只能用EXT2的分区类型,上面已说过。对

Windows用户来说, *** 作系统必须装在同一分区里,它是商业软件吗!所以你没有选择的余地!

对Red Hat linux来说,你有了较大的选择余地,你可以把系统文件分几个区来装 (必须要

说明载入点),也可以就装在同一个分区中(载入点是“/”)。 下面我们看看可以创建哪些

分区(仅列常用几种)。

/boot分区,它包含了 *** 作系统的内核和在启动系统过程中所要用到的文件, 建这个分

区是有必要的,因为目前大多数的PC机要受到BIOS的限制,况且如果有了一个单独的/boot启

动分区,即使主要的根分区出现了问题,计算机依然能够启动。

/usr分区,是Red Hat linux系统存放软件的地方,如有可能应将最大空间分给它。

/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。 如果是多

用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通

用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普通用户访问哪些文件等。

其实单用户也有建立这个分区的必要,因为没这个分区的话,那么你只能以根用户的身份登

陆系统,这样做是危险的,因为根用户对系统有绝对的使用权,可一旦你对系统进行了误 ***

作,麻烦也就来了。

/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日

志文件出现了问题,它们也不会影响到 *** 作系统的主分区。

/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。这

样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的 *** 作,文件系统的其

它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写 *** 作,所以它通常会比其

它的部分更快地发生问题。

/bin分区,存放标准系统实用程序。

/dev分区,存放设备文件。

/opt分区,存放可选的安装的软件。

/sbin分区,存放标准系统管理文件。

上面介绍了几个常用的分区,一般来说我们需要一个SWAP分区,一个/boot分区,一个

/usr分区,一个/home 分区,一个/var/log分区。当然这没有什么规定,完全是依照你个人

来定的。但记住至少要有两个分区,一个SWAP分区,一个/分区。下面我们来看看怎样分区。

用户可以使用两种分区工具:

1.Disk Druid:它是Red Hat linux提供的硬盘管理工具, 它最初是随Red HatLinux5

一起发售的,它可以根据用户的要求创建和删除硬盘分区,另外还可以为每个分区管理载入

点,这是一个不错的分区软件,建议读者使用。本文也将以此软件详细地介绍Red Hat linux

分区。

2.Fdisk:它是传统的linux硬盘分区工具,比Disk Druid更强大,使用更加灵活。 但

是Fdisk要求用户对硬盘分区有一定经验,并能够适应且读懂简单的文本界面。 如果你是第

一次对一个硬盘驱动器进行分区 *** 作的话,最好还是避免Fdisk这样的程序, 它虽然强大但

用起来的感觉不是太好的。

附注:此外Red Hat linux还提供了一种叫fips的分区软件, 但这种分区软件具有一定

的危险性,不宜提倡 *** 作。虽然有许多人已经成功地用fips对他们的硬盘进行了分区,但这

不能保证fips将在你的系统中也能正常地运行。况且Red Hat linux也不提供对fips的支持,

劝你对这种分区软件还是慎用为好。

如果你希望将Red Hat linux安装在已经含有其他 *** 作系统的盘上, 也就是多重 *** 作系

统,这个情况就比较复杂了,因为一个错误就可以毁掉你辛辛苦苦保存的数据,让你欲哭无

泪。如果你想让Red Hat linux与OS/2共存,那你必须使用OS/2的分区软件来创建硬盘分区,

要不然OS/2将不能识别硬盘分区。另外你也可以用其它的一些分区软件来分区,下面列出了

一些常见的这种分区工具软件:

*Partition Commander软件,从www.v-com.com处下载。

*partition It软件,从www.quarterdeck..com处下载。

*partition Magic软件,从www.powerquest.com处下载。

注意:硬盘分区是一个非常危险的步骤,你要想安全地在不丢失数据的情况下改变磁盘

的分区有点不太现实,所以我建议大家对重要得数据进行备份,装多 *** 作系统更要如此,以

备不测。当然或许你是刚装系统或就准备重装,那也就是另外一回事了,但是大家对待分区

一定要慎重又慎重,切记。

下面我们详细地了解一下Red Hat linux7.1自带的Disk Druid分区软件所包含的一些信息。

1.Current Disk Partitions区域(这里每一行代表了一个硬盘分区)

Mount Point 指出Red Hat linux启动并运行以后该分区的加载点,交换空间

(linux swap)是不需要加载点的。

Device 硬盘分区的设备名

Requeted 给这个分区定义时申请的最小空间

Actual 分配给该分区的实际空间

Type 说明了该分区的类型

2.Drive Summaries区域(这里每一行代表一个硬盘)

Drive 显示硬盘的设备名

Geom[C/H/S] 显示硬盘的物理信息,C(柱面),H(磁头),S(扇区)

Total 显示硬盘的可用空间

Used 显示硬盘中已分配的空间

Free 显示硬盘中末分配的空间

Bar Graph 该条图形化地显示当前硬盘使用的百分比,#号越少,空闲空间越多

3.Disk Druid按钮

Add 增加一个分区

Edit 修改在Current Disk Partitons中被选中的分区的属性, 选中该按钮将出现一个

对话框来进行修改,但只能修改该分区的载入点。如果你需要修改其它内容,请先

删除该分区,而后再重新建这分区。

Delete 删除一个在Current Disk Partitons中被选中的分区

Ok 确认

Back 不作保存,返回

4.如果你想增加一个分区,请点击“add”按钮,这时会出现一对话框,内容说明如下:

Mount Point 分区载入点,说明分区

Size 分区的大小

Grow to fill disk 表明这个分区将添满一个硬盘的整个未分配空间。这时,这个分区

的容量可以随着其它分区的修改增加或减少

Type 选择分区类型

Allowable Drives 选择这个分区将创建在哪个硬盘上

好了,通过上面的了解想必大家都能容易地创建出适合自己的分区。下一步我们所要做

的工作就是要格式化所建的分区,选择你要格式化的分区并按Space键, 如果想在格式化分

区时检查有无坏块,选择“Check for bad blocks during format”,点击OK并按Space键。如

果分区中已无你要所保存的数据,最好都格式化一下。

Linux系统提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。在Linux系统中,进程的4GB内存空间被分为两个部分——用户空间与内核空间。用户空间的地址一般分布为0~3GB(即PAGE_OFFSET,在Ox86中它等于OxC0000000),这样,剩下的3~4GB为内核空间,用户进程通常只能访问用户空间的虚拟地址,不能访问内核空间的虚拟地址。用户进程只有通过系统调用(代表用户进程在内核态执行)等方式才可以访问到内核空间。每个进程的用户空间都是完全独立、互不相干的,用户进程各自有不同的页表。而内核空间是由内核负责映射,它并不会跟着进程改变,是固定的。内核空间的虚拟地址到物理地址映射是被所有进程共享的,内核的虚拟空间独立于其他程序。Linux中1GB的内核地址空间又被划分为物理内存映射区、虚拟内存分配区、高端页面映射区、专用页面映射区和系统保留映射区这几个区域。对于x86系统而言,一般情况下,物理内存映射区最大长度为896MB,系统的物理内存被顺序映射在内核空间的这个区域中。当系统物理内存大于896MB时,超过物理内存映射区的那部分内存称为高端内存(而未超过物理内存映射区的内存通常被称为常规内存),内核在存取高端内存时必须将它们映射到高端页面映射区。Linux保留内核空间最顶部FIXADDR_TOP~4GB的区域作为保留区。当系统物理内存超过4GB时,必须使用CPU的扩展分页(PAE)模式所提供的64位页目录项才能存取到4GB以上的物理内存,这需要CPU的支持。加入了PAE功能的Intel Pentium Pro及以后的CPU允许内存最大可配置到64GB,它们具备36位物理地址空间寻址能力。由此可见,对于32位的x86而言,在3~4GB之间的内核空间中,从低地址到高地址依次为:物理内存映射区隔离带vmalloc虚拟内存分配器区隔离带高端内存映射区专用页面映射区保留区。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8918928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存