UNIX系统管理-第十一章:管理交换空间
- 格式:doc
- 大小:68.50 KB
- 文档页数:5
第一章 UNIX系统概述1.1系统简介1.1.1 UNIX简介UNIX是一个多用户,多任务,分布式处理的操作系统。
UNIX 系统可分为3个层次:即系统内核 kernel 层, shell 层和应用层。
(1)内核(kernel)是UNIX 系统的核心和基础。
它控制与管理系统的各种资源(包括硬件和软件资源)。
所以内核外的程序都必须通过系统调用才能获得内核的支持。
(2)shell kernel 与用户之间的解释工具。
shell可编程(3)应用层提供一些图形环境和可供操作的环境。
三层只与相邻层通信而隔层之间没有任何联系。
1.1.2 UNIX 的发展史(1)60 年代中期由美国AT&T 贝尔实验室,通用电器,麻省理工学院等合作开发名为multics的操作系统。
由于项目过于复杂, BELL 实验室撤出。
(2)Ken Thompsou 与Dennis Richie 在DEC PDP-7 机器上开发出最初的UNIX 系统。
(3)1971 年 Dennis Richie 开发出C 语言, 1973 年使用C 重写UNIX 成为当今UNIX 蓝本,因此UNIX 与C 密切相连。
(4)1975 年BELL 实验室推出了UNIX V6, 1979年UNIX V7。
AT&T 在80年代末对UNIX 命名改为SYSTEM V RELEAS X 的形式,如SVR3, SVR4等都从UNIX V7 发展而来。
(5)加洲大学BERKELEY 分校开发了UNIX 的BSD版本。
(6)UNIX 发展中还有其他的版本如SUNOS/SOLARIS,AIX,SCO OPEN SERVER,HP-UX1.1.3 UNIX 的不同版本SCO OPENSERVER/UNIXWARE: SCO公司基于INTER平台(PC机器)SOLARIS:SUN 公司开发有SPARC版与INTER版。
SUN OS :SUN 公司开发的被SOLARIS 所取代。
许多UNIX 管理员都拥有一套用于辅助管理过程的实用工具和技巧。
有一些工具由操作系统提供,但大部分的诀窍则来源于长期的系统管理经验积累。
“系统管理员工具包”系列文章主要专注于一些方法和技术,可以帮助您最大限度地利用各种UNIX 环境中可用的工具,简化异构环境下的系统管理任务。
充分利用bash通过利用Bourne-again shell (bash) 的重要组成部分及其功能来简化系统管理任务。
Bash 是一个流行的 Shell,是对原始Bourne 和Korn Shell 的替代。
它提供了印象深刻的系列附加功能,其中包括对脚本环境的改进、广泛的别名技术和用于自动完成各种命令、文件和路径的改进方法。
备份关键的信息大多数UNIX® 管理员都有相应的方法来备份UNIX 计算机中的数据和信息,但对于配置文件和提供计算机运行所需配置数据的其他内容,又应该如何处理呢?本文提供了相关技术的详细信息,这些技术用于针对关键的文件,实现有效和高效的备份系统。
移动UNIX 目录有时候,您需要将整个UNIX® 目录树复制到相同系统中其他的位置或不同的系统。
有许多种不同的方法可以完成这项操作,但并非所有的方法都可以保持信息数量不变或兼容于不同的系统。
本文讨论了UNIX 中各种可用的选项,以及如何最好地使用它们来完成相应的任务。
监视磁盘空间和使用情况研究确定跨多个UNIX® 系统的磁盘使用情况以及如何创建一个简单的警告系统对潜在问题发出警告的方法。
关注您的文件系统,确保它们没有填满,这虽然是个小事,但在UNIX 系统的日常管理工作中是至关重要的过程。
在本文中,您将了解到监视磁盘空间、发现究竟是哪些文件、用户或应用程序占用了大部分的空间、以及如何使用配额和其他解决方案查找需要的信息的方法。
迁移和移动UNIX 文件系统了解如何在活动的系统中传输整个文件系统,包括如何创建、复制和重新实现新的文件系统。
一、Unix操作系统概述Unix是一类操作系统的统称,最初由贝尔实验室的Ken Thompson、Dennis Ritchie和Doug McIlroy等人在1969年开发。
Unix操作系统具有良好的多用户、多任务处理能力和良好的网络功能,因此被广泛应用于服务器系统和大型计算机领域。
Unix操作系统有多个分支版本,如最初的ATT的System V,后来的BSD,以及现代的Linux等,都是Unix操作系统的发展版本。
二、Unix操作系统的核心功能1. 多用户多任务处理能力:Unix具有良好的多用户能力,支持多个用户同时进行操作,而且系统能够同时处理多个任务,提高了系统的利用率和效率。
2. 文件系统:Unix操作系统的文件系统采用了统一的文件结构,所有设备都被看作是文件,包括硬盘、光驱、打印机等都被当作文件处理,这种设计使得Unix系统的操作变得简单而统一。
3. 网络功能:Unix操作系统具有良好的网络功能,支持多种网络协议,包括TCP/IP等,使得Unix系统成为了Internet时代的绝佳操作系统。
4. 管道和过滤器:Unix操作系统的管道和过滤器功能可以使用户将多个程序信息起来,形成一个复杂的数据处理流程,实现数据的传输和处理。
5. 软件开发支持:Unix操作系统提供了强大的软件开发支持,包括编译器、调试器、版本管理工具等,使得Unix成为了大型软件开发的首选评台。
三、Unix操作系统的特点1. 简洁高效:Unix操作系统的设计简洁而高效,采用了模块化的设计思想,使得系统结构清晰、易于理解。
2. 可移植性:Unix操作系统的设计具有良好的可移植性,可以很方便地移植到不同的硬件评台上,使得Unix系统具有较强的通用性。
3. 开放性:Unix操作系统是一个开放的系统,用户可以自由地定制和修改系统的功能,使得Unix系统具有良好的灵活性和可扩展性。
4. 安全性:Unix操作系统的安全性较高,系统提供了良好的权限控制机制,可以很好地保护系统的安全。
linux 中虚拟内存和交换空间的原理和应用虚拟内存和交换空间是Linux操作系统中的两个重要概念,用于管理系统内存资源的效率和容量。
虚拟内存是一种机制,它允许运行于计算机内存中的程序访问比实际物理内存更大的内存空间。
虚拟内存通过将部分程序和数据存储在硬盘上的交换空间中,以释放物理内存供其他程序使用。
当程序需要访问之前被换出到交换空间的数据时,通过操作系统将其重新加载到物理内存中。
这样,虚拟内存可以为每个程序提供一个连续的内存空间,使得程序可以像访问物理内存一样访问全部地址空间。
交换空间是硬盘上用于存储被换出的程序和数据的一块空间。
当物理内存不足以容纳所有运行的程序和数据时,操作系统会将一部分不常用的内容移动到交换空间中。
当程序再次需要访问这些数据时,操作系统会将其从交换空间加载到物理内存中。
交换空间的大小通常由系统管理员或者操作系统自动设置,可以根据实际的系统资源和需求进行调整。
虚拟内存和交换空间的应用有以下几个方面:1. 内存管理:虚拟内存和交换空间可以将物理内存扩展到比实际内存更大的范围,从而允许系统运行更多的程序或处理更大的数据集。
2. 内存分页:虚拟内存使用分页的方式管理内存,将程序和数据划分成固定大小的页面,使得内存的访问更加高效。
3. 内存回收:当系统的物理内存不足时,操作系统会将不常用的页面换出到交换空间中,以释放物理内存供其他程序使用。
4. 系统稳定性:通过使用虚拟内存和交换空间,系统可以更好地应对内存资源紧张的情况,避免因为内存不足而导致系统崩溃或出现错误。
总之,虚拟内存和交换空间在Linux系统中发挥着重要的作用,提供了更高效的内存管理和系统资源利用方式,提升了系统的性能和稳定性。
UNIX系统管理-第十一章:管理交换空间目标完成这一章,你能够做以下事情:了解需求分页的概念。
了解物理内存,有效内存,和可锁定内存的含义。
确定系统中物理内存,有效内存,和可锁定内存的数目。
确定系统现有的和正在使用的交换区的数量。
在命令行中配置设备交换区。
在命令行中配置文件系统交换区。
取消交换分区。
选择文件系统交换分区和设备交换分区的时候需要考虑事项11.1 系统内存物理内存就是安装在你计算机中的随机存取存储器(RAM)。
在系统启动的时候,在系统控制台上会显示已安装的物理内存的数目:Physical: xxxxxxx kbytes并不是所有的物理内存都能被操作系统使用。
一些物理内存会被内核代码和数据结构占用。
剩下的内存被称为有效内存,被系统用作需求分页。
在系统引导时,会显示有效内存的数目:Available: xxxxxxx kbytes全部或部分的有效内存都可以被一个子系统或是用户进程锁定。
被锁定的内存不能被交换到磁盘上去。
典型的情况是,被锁定的内存页中保存有频繁存取的程序代码或数据结构,通过将程序代码和数据结构常驻内存,可以提高进程的执行效率。
但是如果系统的大部分的内存都被锁定会导致系统死锁,所以必须要有一些未锁定的内存存在来避免系统死锁。
在系统启动的时候,能够被锁定的内存的总数会显示出来:Lockeable: xxxxxxxx kbytes有效内存减去被子系统或用户进程实际锁定的内存就是虚拟内存分页实际可用的内存。
系统参数,unlockable_mem 中保存了不能被锁定的内存的大小。
注意:dmesg 命令可以显示系统启动的时候显示的信息,这些信息包括物理内存的数目,有效内存,和可锁定内存的大小。
11.2 什么是交换分区交换分区是在高速存储设备上的一块区域,交换区是为虚拟存储系统进行分页进程而保留的。
物理内存是系统中的有限的资源,这意味着在同一个时刻只能有一定数量的进程可以使用物理内存,甚至会有许多的进程实际上处于等待运行或等待执行当中。
当进程运行的时候,程序的数据页和数据结构(文本)从内存中被拷贝到磁盘上或从磁盘上拷贝到内存中(在需要的时候),这就被称为需求分页。
通常,程序的文本部分在程序执行的时候不会更改。
所以在需要的时候,文本可以从包含可执行程序的文件中被拷贝到RAM中,执行中的程序的数据页会更改,因此,如果一个数据页必须从RAM移动到另外的空间,必须先将其拷贝到交换空间。
分页内核通常会保持一定数量的空闲内存页来确保系统的效率。
这个数字称为lotsfree,只要不低于这个数字,就不会发生分页行为,当空闲内存页的数目小于这个数字的时候,一个称为vhand的进程就会启动,这个守护进程会选择那些最近没有被访问的内存页,在需要的时候将这些内存页拷贝到交换分区中。
这个过程被称为page out ,当一个进程试图存取当前内存中不存在地址的时候会发生page fault,这时,这个内存页会被拷贝到RAM中。
当系统有许多的请求内存需要时(例如系统中有许多的大的进程运行),分页守护进程可能变得十分繁忙,忙于交换内存页的进出,这会导致系统花费太多的时间在分页过程中,以至于没有足够的时间来运行其他的进程。
在这种情况下,系统的性能下降的十分快,有时会导致系统没有任何地反映,在这种情况下,称为系统颠簸,因为系统的内部开销远大于生产性的工作。
交换器(swapper)术语交换最早可以追溯到早期的unix用来管理物理内存的方式,其工作原理是在主内存和二级存贮器之间移动整个进程。
现代的大多数虚拟内存系统不再交换整个进程,因为这种方式会导致系统消耗大多数的时间在I/O操作上,而没有时间作实际的工作。
这种方式已经被一种非活动性的方案所代替,这种方案允许内存页以一种分页的机制被推出。
分页是一种更有效的管理虚拟内存的机制。
当系统开始颠簸的时候,或当空闲内存的数量低于另外一个界限的时候,(这个界限被称为minfree),交换器会被激活,然后交换器会停止进程的活动,这样就降低了新的内存页被存取的速度。
哪些属于被停止进程的内存页不会被访问,并且会成为分页守护进程释放的内存候选对象。
当交换器检查到有效的内存数量回升到minfree界限之上,系统不再处于无效状态,它会重新激活被停止的进程。
交换区预留在进程创建的时候,交换子系统会预留交换空间,但是不会在磁盘上指定交换空间,除非在内存页需要交换到磁盘上的时候。
在进程创建时预留的交换空间可以防止交换器耗尽交换空间。
当系统不能够为一个新的进程预留足够多的交换空间的时候,进程就不能启动,同样,如果运行中的进程试图动态增加更多的内存,更多的交换空间会被预留。
如果这个时候没有足够的交换空间,这个进程就会被杀掉。
交换区预留可以防止系统耗尽交换空间,它也会在所有的交换空间都被使用的情况下阻止进程的建立。
评估交换区的需求在你安装系统之前,你应该了解你需要多少的交换空间。
多数的应用程序的正常运行需要一个最小数量的交换空间。
这个数字通常在应用程序的随机文档中有说明。
系统管理员应该监视交换空间的使用情况,并且在需要时对其进行调整。
在下一章中我们会了解如何进行这种调整。
11.3 交换空间的类型交换区的类型设备交换分区文件系统交换分区,与设备交换分区不同的是,一个文件系统不但能存放文件和文件的数据结构,同样可以使用有效的空间作为交换的用途。
root文件系统在同一个磁盘上。
在内核引导系统的时候被初始化。
root设备交换分区设备交换分区的速度比文件系统交换分区的速度更快。
设备交换分区存在于它自己的分区之中。
当使用整盘的方式分区,你既可以用整块盘作为交换分区,也可以通过命令newfs 的-R选项在磁盘的末尾空间保留一块交换分区。
例如,以下的命令在一块磁盘上创建一个文件系统并且保留200M的空间作为交换区newfs –R 200 /dev/rdsk/c0t2d0如果是使用LVM的方式分区,可以创建一个单独的逻辑卷作为设备交换区。
以下的命令使用lvcreate命令来创建一个200M交换逻辑卷:lvcreate –L 16 –n myswap /dev/vg01文件系统交换空间文件系统交换区是二级交换区的一种形式,它可以动态配置。
使用0文件系统交换区可以在一个进程需要更多的交换空间而设备交换区的剩余空间不够的时候使用一个已存在的文件系统。
文件系统交换区仅仅在设备交换区不够时被启用。
文件系统交换区会浪费一定数量磁盘空间,因为他仅仅使用文件系统中它需要的那一部分。
你可以将文件系统交换区限制在一个合适的大小内,以防止消耗太多的空间。
当文件系统中的交换区被启用的时候,这个文件系统的根目录下会建立一个/paging的子目录。
文件系统中的每一个交换块都会创建一个文件,默认一个交换块的大小为2M请注意,一旦一个文件系统作为文件系统交换区而被启用就不能被卸载,除非重启动系统的时候。
主交换区你的系统在启动时必须至少有一个设备交换区有效,这个交换区就是主交换区。
在默认情况下,主交换区与根文件系统在同一个磁盘上。
如果你使用LVM(逻辑卷),主交换区存储在启动数据保留区(BDRA)。
命令lvlnboot –s lvol 被用来定义主交换区。
如果你想要修改主交换区的定义,你必须首先使用命令lvrmboot –s 来删除先前的定义。
二级交换区除主交换区之外,你也能被使用其它交换区,这些交换区被称为二级交换区。
如果你使用设备交换区作为二级交换区,为了达到更好的性能,请将其放在root磁盘以外的磁盘上。
文件系统交换区都是二级交换区。
二级交换区能在引导的时候自动启动,也可以在系统运行的时候动态增加。
11.4 命令行方式激活交换分区例子1 swapon /dev/vg01/myswap2 swapon /dev/dsk/c0t2d03 swapon –p4 –l 4M /myfs24 swapon –a解释:1 激活逻辑卷中的交换分区2 激活整盘方式的交换分区3 激活一个文件系统的交换分区4 激活在/etc/fstab中的所有交换分区文件系统和设备交换分区都能够使用命令swapon(1m)的方式激活。
这个例子将逻辑卷/dev/vg01/myswap作为一设备交换分区。
整个逻辑卷都被用作交换分区,这样文件系统就不能再使用这个逻辑卷。
如果这个逻辑卷在过去包括一个文件系统,你需要使用–f 选项来“强制”覆盖老的文件系统结构。
这个例子激活整盘/dev/dsk/c02d0的设备交换分区。
如果这个盘包含一个用newfs –R 200 /dev/rdsk/c0t2d0的文件系统,你可以保留这个文件系统通过使用swapon 的-e 的选项来在磁盘的剩余部分建立交换分区。
如果你想要覆盖磁盘上的文件系统,使用–f 的选项。
这个例子将安装在/myfs2上的文件系统作为一个文件系统交换分区。
-p 选项设置交换分区的优先级为4,-l 选项确保vhand在这个文件系统中使用的交换区的大小不超过4M。
注意:在文件系统被作为文件系统交换分区的时候,不能被umount。
在关机的时候,所有的交换区都自动地失效。
为了确保交换分区在下次系统启动的时候自动被激活。
你必须将其加入到/etc/fstab中去。
/etc/fstab中关于交换区的语法在下一节说明,swapon –a 会立即激活/etc/fstab中的所有的交换区。
使用swapon激活交换区增加设备交换区的语法/usr/sbin/swapon [-p priority] [ -e |-f] devicepriority 指明文件系统或是设备交换分区被使用优先级。
-e 使用一个磁盘设备上的文件系统的剩余空间作为交换分区。
这个选项不能和-f选项同时使用。
当使用文件系统作为交换分区的时候一定要使用这选项;这个选项在使用“整盘”方式的情况下,就是一个磁盘上同时有文件系统和交换分区时使用。
-f 当一个设备上文件系统存在地时候,强制使用这个盘作为设备交换区(会破坏这个文件系统)device 被用作内存分页的块设备。
增加文件系统交换区的语法/usr/sbin/swapon [-m min] [-l limit] [-r reserve] [-p priority] directory-m min min定义了分页系统从文件系统中初始化使用的分页空间的大小。
-l limit limit定义了交换系统在文件系统中最大占用的空间。
Limit可以以k为单位(k为后缀),或以M为单位(M为后缀),或以文件系统块为单位(没有后缀)默认是没有限制。
-r reserve 这个空间为当前文件系统占用的空间之外的一部分,仅为文件系统使用保留的,-p priority 同设备交换区一样directory 文件系统交换区占用的目录,系统会在作为交换区的文件系统的根目录下创建一个paging的目录。