如何在AIX系统下配置使用Sendmail

如何在AIX系统下配置使用Sendmail,第1张

Linux 的 sendmail 配置 配置文件 在 Linux 系统中,Sendmail 包括如下配置文件: /etc/sendmailcf /etc/mail/access /etc/mail/aliases /etc/mail/local-host-names /etc/mail/mailertable /etc/mail/virtusertable /etc/mail/domaintable ~/forward 我们将会 在下面的章节中详细介绍这些配置文件。 /etc/sendmailcf /etc/sendmailcf 是 sendmail 的主配置文件。该文件存储了正在运行的 mailer 程序的类型信息,定义了重写邮件地址的规则和 sendmail 命令的 *** 作环境。因为 sendmailcf 的语法比较复杂,我们一般不建议手动修改该配置文件。安装了 sendmail 的 UNIX/Linux 系统都会带有 sendmailcf,而且该配置文件在大多数情况下都不需要修改就可以使用。如果用户确实需要修改 sendmailcf 配置文件 , 一般建议用户基于 sendmailmc 宏文件,利用 m4 程序来生成新的 sendmailcf 文件。 在 RedHat Linux 系统中,sendmailmc 宏文件位于 /etc/mail/ 目录。 而 SuSE Linux 系统并没有 sendmailmc 文件,相应的,它提供了 /etc/mail/linuxmc ( 或者 /etc/mail/linuxnullclientmc) 替代 sendmailmc。/etc/mail/linuxmc 是 SuSEconfig 使用 /etc/rcconfig 和 /etc/rcconfigd/sendmailrcconfig (SuSE <= 73) 或者 /etc/sysconfig/sendmail (SuSE >= 80) 的参数而生成的宏文件。SuSEconfig 执行 /sbin/confd/SuSEconfigsendmail 脚本来构建 mc 文件,并执行 m4 来生成 sendmailcf 配置文件。用户可以依照清单 1 所示的 SuSEconfigsendmail 命令来生成配置文件。 清单 1 使用 SuSEconfigsendmail 命令生成配置文件 / sbin/confd/SuSEconfigsendmail -m4 > sendmailmc 在 sendmailmc 配置文件中经常出现如下的 m4 命令: define: 用于定义配置文件中变量的值 divert: 用于定向 m4 进程的输出。 divert 被设置为 -1 时 , 取消输出。如果 divert(-1) 在一个文本块的前面出现,这段文本将不会再 sendmailcf 中出现 divert 被设置为 0 时来定向数据流的输出,如 sendmailcf, VERSIONID: 配置文件定义版本控制信息。 dnl: 注释掉后面的所有字符。 dnl 出现在行尾,表示将清除掉不想要的空白行;dnl 出现在行首,表示这一行将被当成注释。 DOMAIN: 选择传输邮件的域。 FEATURE: 识别配置文件中一个特性 (Feature)。 MAILER: 识别包含在 sendmailcf 一套邮件传输方法。 OSTYPE: 定义宏所使用的 *** 作系统,它允许 m4 程序增加同相关 *** 作系统相关的文件。 undefine: 清除配置文件中的变量值。 需要注意的是,m4 宏处理器生成的 sendmailcf 文件必须放在 /etc/ 目录 , 而非 /etc/mail。具体的 *** 作如清单 2 所示。 清单 2m4 命令生成配置文件 sendmailcf cp /etc/sendmailcf /etc/sendmailcfbak m4 sendmailmc > sendmailcf 在用户修改完成 sendmailcf 配置文件以后,最后一步 *** 作是重新启动 sendmail 服务,具体的 *** 作如清单 3 所示: 清单 3 重启 sendmail 服务 service sendmail restart /etc/mail/access 和 accessdb access 数据库是由 sendmail V89 版本引入的特性, 并在 V810 重得到很好的发展。它提供了一个单一集中管理的访问规则数据库;它可以基于发信者的姓名、地址或者 IP 来判断是否接受 (OK)、转发 (RELAY)、拒绝 (REJECT) 或者取消 (DISCARD)。sendmail 会在接收邮件时进行规则判断,默认情况下只接受本机发送的邮件。 对本地设置来说,/etc/mail/access 和 accessdb 并不是必需的;只有在建立中央邮件集中服务器来处理所有邮件的时候才需要这两个文件。 access 数据库的配置主要有三个步骤,具体 *** 作如下所示。 修改 /etc/mail/access 文件;修改后的内容如清单 4 所示。 清单 4/etc/mail/access 文件内容 localhostlocaldomain RELAY localhostRELAY 127001RELAY 1921681RELAY 利用 /etc/mail/access 创建数据库映射文件 accessdb,命令如清单 5 所示。 清单 5 生成数据库映射文件 accessdb makemap hash /etc/mail/accessdb < /etc/mail/access 重启 sendmail, 读取 accessdb,具体的命令如清单 3 所示。 service sendmail restart /etc/mail/aliases 和 aliasesdb aliases 是 sendmail 邮件系统的别名数据库。它可以定义邮递列表,在机器之间转发邮件,或者允许用多个名字指定一个用户。因为 Aliases 别名处理的规则是递归的,所以一个别名指向的目的地也可以是别名。对于每个信封,sendmail 都会在别名文件中查找本地用户的收件人名称。由于 Sendmail 的可能要在 aliases 文件中搜索数以千计的收件人名称,所以一个以 DB 数据库格式存储的 aliases 文件副本被创建,并用来提高查询的速度。 同样,这两个配置文件也不是必需的。如果 sendmail 是使用中央服务器的邮件处理中心处理所有邮件的话,安装在邻居服务器或客户机的 aliases 和 aliasesdb 文件就不需要了。 aliases 数据库的配置主要有三个步骤,如下所示。 1修改 /etc/mail/aliases。修改后的内容如清单 6 所示。 清单 6 修改后的 aliases 文件 # Basic system aliases that MUST be present postmaster: root mailer-daemon: postmaster # amavis virusalert: root 2根据 /etc/mail/ aliases 来创建数据库映射文件 aliasesdb,该命令如清单 7 所示。 清单 7 创建数据库映射文件 aliasesdb makemap hash /etc/mail/aliasesdb < /etc/mail/aliases 3重启 sendmail,读取 aliasesdb,具体的命令如清单 3 所示。 service sendmail restart

AIX 全名为(Advanced Interactive Executive),它是IBM 公司的Unix *** 作系统,
整个系统的设计从网络、主机硬件系统,到 *** 作系统完全遵守开放系统的原则。
下面对AIX 作以介绍。
RS/6000 采用IBM 的UNIX *** 作系统-AIX作为其 *** 作系统。这是一
个目前 *** 作系统界最成功,应用领域最广,最开放的第二代的UNIX系
统。它特别适合于做关键数据处理(CRITICAL)。
AIX 包含了许多IBM 大型机传统受欢迎的特征,如系统完整性,系统可管理
性和系统可用性。
在 AIX *** 作系统上,有许多的数据库和开发工具,用户除了选用已有的应用
软件外,还可以根据各自的需要进行开发。
此外,在AIX 之上,有一组功能强,使用方便的系统管理工具。对于异种平台
互存,互 *** 作有很成熟的解决方案。
由于该 UNIX 的先进的内核技术和最好的开放性,因此,虽然RS/6000
从宣布到今天只有短短的5 年多的时间,它已在各行各业有了广泛的运用,
并在1993和1994年连续二年在MIDRANGE商用 UNIX 领域处于第一位。
RISC SYSTEM/6000的 *** 作系统是AIX ,它是性能卓越的、开放的
UNIX,汇集了多年来计算机界在UNIX上的研究成果,以IBM 在计算机
体系结构、 *** 作系统方面40多年极其丰富的经验。最大限度的使用RISC
技术,安装了象AIX 这样的具备工业界实力的UNIX *** 作系统。
它既可连接SAA 体系结构,又能与非IBM 系统的网络相连,因此,可以
和多数专业银行现有的系统实现互连,这对今后业务系统拓展将带来极大的
灵活性,并降低投资。
AIX 遵循一系列的国际标准:
IEEE POSIX10041-1990
X/OPEN 移植指南ISSUE3的基本级(XPG3)
AES/OS REVISION A (OSF/1 LEVEL 2 资格)
FIPS 151-1
AIX的编译器: XLC、C++(可选)、FORTRAN(可选)、PASCAL(可选)、COBOL(可选)
ADA 的编译器已达到XPG3“成员”级的认可。
AIX 支持多用户、多任务。
AIX有一些其它特性包括:
AIX 提供了3 种SHELL :SYSTEM V的KORN、BOURNE SHELL和43BSDC
SHELL作为可选择的UNIX系统界面;
安全设施满足TCB (Trusted Computing Base)的C2级;
实时处理能力,这对于“面向交易”的应用至关重要(如零售业
和银行等),它使RS/6000 获得极高的响应和吞吐量;
虚拟存储管理,当需要时,可将一些不常用的模块转送至外存,
提高内存的可利用性。
先进的文件系统,使得系统管理更加有效,并提高了数据可靠性
以及完整性。
能兼容Dos 应用程序和数据。
InfoExplorer,快速信息超文本索引系统- 不仅包括文字,而且
对包含声音、图像的索引系统,这是个联机的文件接口。包括全部的
超文本的索引和查找,以及面向任务和坐标的多重导引和索引系统。
这个文字及图形索引系统以一个灵活的、基于任务的方式去使用详细
资料及培训资料。
高级系统管理工具(SMIT,System Management Interface Tool)。
提供一级菜单驱动程序,诸如完成软件的安装与设置、设备的设置及
管理、问题的测定、存贮管理等。可以自动地进行I/O 设备设置,
ASCII 终端也可充当系统控制台。在LAN 上可以进行远程系统的安装。
系统工作负载
系统工作负载的完整准确的定义对于预测或理解它的性能是很关键的。在衡量系统性能时,工作负载的不同可能会比 CPU 时钟速度或随机访问存储器(RAM)大小不同带来更多的变化。工作负载的定义不仅必须包含向系统发送的请求的类型和速率,还要包含将要执行的确切软件包和内部应用程序。
包括系统将在后台处理的工作也很重要。例如,如果一个系统包含通过 NFS 加载且由其它系统频繁访问的文件系统,那么处理那些访问很可能是总体工作负载中非常重要的一部分,即使该系统不是正式的服务器也是如此。
已进行标准化从而允许在不同系统之间进行比较的工作负载称为基准程序。但是,很少有实际的工作负载能完全符合基准程序的精确算法和环境。即使是那些最初从实际的应用程序发展而来的行业标准基准程序也已经过简化和均匀化,从而使它们可移植到大量的硬件平台上。使用行业标准基准程序唯一有效的方法是减小将接受严肃评估的候选系统的范围。因此,在尝试理解系统的工作负载和性能时不应该只依赖基准测试结果。
可以将工作负载分为以下类别:
多用户
由多个用户通过各自的终端提交的工作组成的工作负载。通常,这种工作负载的性能目标有两种可能,即在保留指定的最坏情况响应时间条件下最大化系统吞吐量,或者对于固定不变的工作负载获得尽可能快的响应时间。
服务器
由来源于其它系统的请求组成的工作负载。例如,文件服务器的工作负载主要是磁盘读写请求。它是多用户工作负载(加上 NFS 或其它 I/O 活动)的磁盘 I/O 部分,所以适用同样的目标,即在给定的相应时间限制下最大化吞吐量。其它的服务器工作负载由诸如数学计算密集的程序、数据库事务、打印机作业之类的项组成。
工作站
由单独的用户通过键盘提交工作和在该系统的显示器上接收结果组成的工作负载。通常这种工作负载的最高优先级性能目标是使用户请求的响应时间最短。
性能目标
在定义了系统必须处理的工作负载后,可以选择性能标准并根据这些标准设定性能目标。计算机系统的总体性能标准是响应时间和吞吐量。
响应时间是提交请求和返回该请求的响应之间使用的时间。示例包括:
数据库查询花费的时间
将字符回显到终端上花费的时间
访问 Web 页面花费的时间
吞吐量是对单位时间内完成的工作量的量度。示例包括:
每分钟的数据库事务
每秒传送的文件千字节数
每秒读或写的文件千字节数
每分钟的 Web 服务器命中数
这些度量之间的关系很复杂。有时可能以响应时间为代价而得到较高的吞吐量,而有时候又要以吞吐量为代价得到较好的响应时间。在其它情况下,一个单独的更改可能对两者都有提高。可接受的性能基于合理的吞吐量与合理的响应时间相结合。
在规划或调谐任何系统中,当处理特定的工作负载时一定要保证对响应时间和吞吐量都有明确的目标。否则,有可能存在一种风险,那就是您花费了分析时间和物力改善的仅仅是系统性能中一个次要的方面。
程序执行模型
为了清楚地检查工作负载的性能特征,需要有一个动态而非静态的程序执行模型,如下图所示。
图 1 程序执行层次结构 该图形以一个三角形为基础。左边代表和右边适当的 *** 作系统实体匹配的硬件实体。程序必须从存储在磁盘上的最低级别开始,到最高级别的处理器运行程序指令。例如,从底部到顶部,磁盘硬件实体容纳可执行程序;实内存容纳等待的 *** 作系统线程和中断处理程序;转换后备缓冲区容纳可分派的结程;高速缓存中包含当前分派的线程和处理器流水线;而寄存器中包含当前的指令。
程序为了运行必须沿着硬件和 *** 作系统层次结构并行向上前进。硬件层次结构中的每个元素都比它下面的元素稀少和昂贵。不仅程序不得不为了每个资源和其它程序竞争,而且从一个级别过渡到下一级别也要花时间。为了理解程序执行动态,需要对层次结构中每一级别有个基本的了解。
硬件层次结构
通常,从一个硬件级别移动到另一级别所需要的时间主要由较低级别的等待时间(从发出请求到接受到第一批数据的时间)组成。
固定磁盘
对于一个在单机系统中运行的程序而言,最慢的 *** 作是从磁盘上取得代码或数据,这是因为有下列原因:
必须引导磁盘控制器直接访问指定的块(排队延迟)。
磁盘臂必须寻道以找到正确的柱面(寻道等待时间)。
读/写磁头必须等候直到正确的块旋转到它们下面(旋转等待时间)。
数据必须传送到控制器(传送时间)然后传递到应用程序中(中断处理时间)。
除了程序中显式的读或写请求以外,还有许多原因导致磁盘 *** 作缓慢。频繁的系统调谐活动证明是不必要地跟踪了磁盘 I/O。
实内存
实内存通常称为随机存取存储器或 RAM,它比磁盘速度快,但每个字节的开销非常昂贵。 *** 作系统尽量只把当前使用的代码和数据保存在 RAM 中,而把任何额外的内容存储在磁盘上,或者决不首先把它们带入 RAM 中。
然而,RAM 的速度不一定比处理器快。通常在硬件意识到 RAM 访问需求与处理器可使用数据或指令的时间之间,会出现许多处理器周期的 RAM 等待时间。
如果要访问存储到磁盘上(或者尚未调进)的某一虚拟内存页,则会产生一个缺页故障,并且程序的执行暂挂直到该页从磁盘读取。
转换后备缓冲区(TLB)
使程序员不会受限于系统的物理局限性的方法是实现虚拟内存。程序员在设计和编写程序时认为内存非常大,系统将负责将程序中指令和数据的虚拟地址转换成需要用来从 RAM 取得的指令和数据的实际地址。因为这个地址转换过程可能很费时,系统将最近访问过的虚拟内存页的实际地址保存在一个叫转换后备缓冲区(TLB)的高速缓存中。
只要运行中的程序继续访问程序和数据页中的一小部分,则完整的从虚拟到实际页地址的转换过程就不需要在每次 RAM 访问的时候都重做一次。当程序试图访问的虚拟内存页没有 TLB 入口(即 TLB 未命中)时,则需要大量的处理器周期(即 TLB 未命中等待时间)来进行地址转换。
高速缓存
为了将程序必须经历的 RAM 等待时间减到最小,系统为指令和数据组织了高速缓存。如果所需的指令和数据已在高速缓存中,则产生高速缓存命中,处理器就可在下一个周期立刻使用该指令或数据。否则产生高速缓存未命中,伴随有 RAM 等待时间。
在某些系统中,有两到三级高速缓存,通常称它们为 L1、L2 和 L3。如果一个特殊的存储器引用导致 L1 未命中,则检查 L2。如果 L2 产生未命中,则引用转至下一个级别,要么是 L3(如果存在),要么是 RAM。
高速缓存的大小和结构根据型号的不同而有不同,但是有效使用它们的原理是相同的。
流水线和寄存器
流水线型超标量体系结构使得在某些情况下可以同时处理多个指令。大批的通用寄存器和浮点寄存器使得可以将相当多的程序数据保存在寄存器中,而不需要频繁存储和重新装入。
可以设计优化编译器最大限度地利用这些能力。当生成产品程序时,无论程序有多小编译器的优化函数都应该能使用。Optimization and Tuning Guide for XL Fortran, XL C and XL C++ 中描述了如何将程序调谐到最大性能。
软件层次结构
程序为了运行还必须逐步执行软件层次结构中的一系列步骤。
可执行程序
当请求运行某个程序时, *** 作系统执行一些 *** 作以将磁盘上的可执行程序转换成运行中的程序。首先,必须扫描当前 PATH 环境变量中的目录以查找程序的正确副本。然后,系统装入程序(不要和 ld 命令混淆,该命令是个绑定程序)必须解析出从程序到共享库的任何外部引用。
为了表示用户的请求, *** 作系统将创建一个进程或一组资源(例如专用虚拟地址段),任何运行中的程序都需要该进程或资源。
*** 作系统也会在该进程中自动创建一个单独的线程。线程是一个单独程序实例的当前执行状态。在 AIX 中,对处理器和其它资源的访问是根据线程来分配而不是根据进程分配的。应用程序可在一个进程中创建多个线程。这些线程共享由运行它们的进程所拥有的资源。
最后,系统转移到程序的入口点。如果包含入口点的程序页还不在内存中(可能因为程序最近才编译、执行和复制),则由它引起的缺页故障中断将该页从它的后备存储器中读取出来。
中断处理程序
通知 *** 作系统发生了外部事件的机制是中断当前运行线程并将控制转移到中断处理程序。在中断处理程序可以运行之前,必须保存足够的硬件状态以保证在中断处理完成后系统能恢复线程的上下文。新调用的中断处理程序将经历在硬件层次结构中上移带来的所有延迟(除了页面故障)。如果该中断处理程序最近没有运行过(或者中间程序很节约时间),那么它的任何代码或数据不太可能保留在 TLB 或高速缓存中。
当再次调度已中断的线程时,它的执行上下文(如寄存器内容)逻辑上将得到恢复,以便它可以正确运行。然而,TLB 和高速缓存的内容必须根据程序的后继请求重新构造。因此,作为中断的结果,中断处理程序和被中断的线程都可能遇到大量的高速缓存未命中和 TLB 未命中延迟。
等待线程
无论何时只要执行的程序发出不能立刻满足的请求,例如同步 I/O *** 作(显式的或缺页故障的结果),该线程就会处于等待状态,直到请求完成为止。除了请求本身所需的时间以外,通常这还会导致另外一些 TLB 和高速缓存的延迟时间。
可分派线程
当某个线程可分派但不在运行时,它不能完成任何有用的事情。更糟的是,正运行的其它线程可能导致重新使用该线程的高速缓存线路并将实内存页收回,从而引起最终分派时出现更多的延迟。
当前已分派的线程
调度程序选择对使用处理器有强烈要求的线程。在『CPU 调度程序性能概述』中讨论了影响该项选择需要考虑的事项。当分派线程后,处理器的逻辑状态恢复成线程中断时有效的状态。
当前的机器指令
如果未出现 TLB 或高速缓存未命中的情况,绝大多数机器指令都能在单个处理器周期内执行。相比之下,如果程序迅速转换到该程序的不同区域且访问大量不同区域中的数据,就会产生较高的 TLB 和高速缓存未命中率,执行每条指令使用的平均处理器周期数(CPI)可能大于 1。这种程序被认为有较差的局域性引用能力。它也许在使用必需的最少指令数来做这个工作,但是要消耗大量不必要的周期数。部分是因为指令数和周期数之间相关性较弱,检查程序列表来计算路径长度不会再直接产生一个时间值。由于较短的路径通常比较长的路径快,所以速率根据路径长度率的不同而明显不同。
编译器用完善的方法重新安排代码从而将程序执行所需的周期数降到最小。追求最佳性能的程序员必须首先致力于确保编译器具有有效优化代码所需的全部信息,而不是试图事后批评编译器的优化技术(请参阅『预处理器和编译器的有效使用』)。优化有效性的实际衡量标准是可信工作负载的性能。
系统调谐
在有效实现应用程序后,系统总体性能的进一步提高就成了系统调谐考虑的一个问题。系统级调谐包含的主要组件有:
通信 I/O
取决于工作负载的类型与通信链路的类型,可能需要调谐以下的一个或多个通信设备驱动程序:TCP/IP 或 NFS。
固定磁盘
逻辑卷管理器(LVM)控制文件系统的位置和磁盘上调页空间,这可能会极大地影响系统经历的寻道等待时间。磁盘设备驱动程序控制执行 I/O 请求所遵从的顺序。
实内存
虚拟内存管理器(VMM)控制空闲实内存帧的池,并决定何时从何处取用帧来补充该池。
运行线程
调度程序确定接下来由哪个可调度实体接收控制权。在 AIX 中,可调度实体是线程。请参阅『线程支持』。
性能调谐过程介绍
性能调谐主要是资源管理问题和正确的系统参数设置。调谐工作负载和系统以有效利用资源由下列步骤组成:
识别系统中的工作负载
设置目标:
确定如何评测结果
量化目标和区分目标的优先级
识别限制系统性能的关键资源
最小化工作负载的关键资源要求:
如果可选择的话,使用最适当的资源
减少个别程序或系统函数对关键资源的要求
结构化资源的并行使用
修改资源的分配以反映优先级
更改个别程序的优先级或资源限制
更改系统资源管理参数的设置
重复步骤 3 到步骤 5 直到满足目标(或者资源饱和)
如果必要的话,使用其它资源
在系统性能管理的每个阶段都有相应的工具(参阅附录 A 『监视和调谐命令和子例程』)。这些工具有些可从 IBM 得到;另一些是第三方产品。下图说明在一个简单的 LAN 环境中性能管理的各阶段。
图 2 性能阶段 该图用五个加权的圆圈说明对系统性能调谐的各步骤:规划、安装、监视、调谐和扩展。每个圆圈代表系统处于不同的性能状态:空闲、不均衡、均衡和过载。实质上就是扩展一个过载的系统、调谐系统直到它是均衡的、监视不均衡的系统并且在需要扩展时安装更多的资源。
识别工作负载
系统执行的所有工作都必须能够识别。特别是在 LAN 连接的系统中,通过系统的用户之间仅有的非正式协议,可以轻松地开发出一组复杂的交叉安装的文件系统。这些文件系统必须被识别出来并作为任何调谐活动的一部分进行考虑。
对于多用户工作负载,分析员必须量化一般情况和高峰期的请求率。确定用户实际与终端交互时间的实际比例也是很重要的。
该识别阶段中的一个要素是决定必须对生产系统进行评估和调谐活动,还是在另一系统上(或“切换”)用实际工作负载的模拟型式来完成评估和调谐活动。分析员必须针对非生产环境的灵活性权衡来自于生产环境结果的较大可靠性,分析员可在非生产环境中进行试验,当然试验所冒的风险是性能下降或更糟。
设置目标的重要性
虽然可以根据可测数量设置目标,但实际希望的结果往往带有主观性,比如令人满意的响应时间。进一步讲,分析员必须抵挡住调谐可测量的东西而不是对他而言是重要东西的诱惑。如果没有系统提供的评估能符合所要求的改进,那么就必须对该评估进行设计。
量化目标最有价值的方面不是选择达到的数字,而是对(通常)多个目标的相对重要性进行公开判定。如果这些优先级没有事先设定且不是每个相关的人都理解的话,分析员在没有进行频繁咨询之前不能作出任何折衷的决定。分析员还容易对用户的反应或管理性能中一些已经被忽略的方面而感到吃惊。如果系统的支持和使用跨过了组织的边界,您可能需要供应商和用户之间的书面服务级协议,可确保对性能目标和优先级有一个清楚而共同的理解。
识别关键资源
通常,给定工作负载的性能可由一两种关键系统资源的可用性和速度决定。分析员必须正确识别出那些资源,否则会冒险陷入无休止的尝试出错 *** 作。
系统具有物理资源和逻辑资源。关键的物理资源通常比较容易识别,因为较多的系统性能工具可用来评估物理资源的利用率。通常最影响性能的物理资源如下:
CPU 周期
内存
I/O 总线
不同的适配器
磁盘臂
磁盘空间
网络访问
逻辑资源不太容易识别。逻辑资源通常是对物理资源进行分区的编程抽象。进行分区的目的是共享和管理物理资源。
构建于其上的物理资源和逻辑资源的一些示例如下:
CPU
处理器时间片
内存
页面帧
堆栈
缓冲区
队列

锁和信号量
磁盘空间
逻辑卷
文件系统
文件
分区
网络访问
会话
信息包
通道
了解逻辑资源和物理资源是很重要的。因为缺少逻辑资源线程可能阻塞,就像因为缺少物理资源而阻塞一样,扩展下层物理资源未必能保证创建附加的逻辑资源。例如,考虑使用 NFS 块 I/O 守护程序 biod。客户机上的一个 biod 守护程序要求处理每个暂挂的 NFS 远程 I/O 请求。因此,biod 守护程序的数量限制了能同时运行的 NFS I/O *** 作的数量。当缺少 biod 守护程序时,系统检测会指示 CPU 和通信链路只使用了很少一部分。您可能有系统未充分利用(并且很慢)的假象,事实上这时是因为缺少 biod 守护程序从而限制了其余的资源。biod 守护程序使用处理器周期和内存,但您不能简单地通过添加实内存或将它转移到一个更快的 CPU 上来修正这个问题。解决方案是创建更多的逻辑资源(biod 守护程序)。
在应用程序开发过程中可能不经意间创建逻辑资源和瓶颈。传递数据或控制设备的方法可以有效地创建一个逻辑资源。当偶然创建这样的资源时,通常没有工具可监视它们的使用,也没有接口控制它们的分配。它们的存在可能不会引起重视,直到某个特定性能问题出现时就会突出它们的重要性。
最小化关键资源要示
下面讨论在三个级别上考虑最小化工作负载的关键资源要求。
使用适当的资源
决定在一个资源上使用另一个资源时应该理智地考虑并且头脑中要有明确的目标。在应用程序开发过程中有一个选择资源的示例,即通过增加内存消耗来减少 CPU 的消耗来达到一个平衡。用于演示资源选择的公共的系统配置决策为:是将文件放置在单独的本地工作站上,还是放置在远程服务器上。
减少关键资源的要求
对于本地开发的应用程序,可用多种方法检查程序以便其更有效地执行相同的功能或除去不需要的功能。在系统管理级别上,争用关键资源的低优先级工作负载可以移动到其它系统中、在其它时间运行或由“工作负载管理器”控制。
结构化资源的并行使用
因为工作负载需要运行多个系统资源,从而可以利用这样的事实,即资源是独立的且可以并行使用。例如, *** 作系统预读算法检测到程序在顺序访问文件的事实,因此它调度并行执行的其它顺序读取 *** 作,同时应用程序还处理先前的数据。并行也用于系统管理。例如,如果某个应用程序同时访问两个或多个文件且如果同时访问的这些文件存放在不同的驱动器上,那么添加一个额外的磁盘驱动器可能会提高磁盘 I/O 的速率。
资源分配优先级
*** 作系统提供了一些方法来区分活动的优先级。有些在系统级别上设置,比如磁盘调步。其它的例如进程优先级可由单个用户设置以反映连接到特定任务上的重要性。
重复调谐步骤
性能分析的一个公认的真理是接下来总有瓶颈出现。减少某个资源的使用意味着另一资源限制了吞吐量或响应时间。例如,假设我们的系统中有下列的利用率级别:
CPU:90% 磁盘:70% 内存:60%
这个工作负载是 CPU 受限的。如果成功的调谐工作负载使得 CPU 负载从 90% 降到 45%,则可望在性能上有两倍的改善。不幸的是现在的工作负载是 I/O 受限的,它有下列的近似利用率:
CPU:45% 磁盘:90% 内存:60%
改善后的 CPU 利用率允许程序立刻提交磁盘请求,但接下来我们会受到由磁盘驱动器的容量施加的限制。性能改善也许是 30% 而不是预期的 100%。
总是存在一个新的关键资源。重要的问题是使用手边的资源是否已经满足性能目标。
注意: 用 vmtune、schedtune 和其它调谐命令产生的不正当系统调谐可能导致意外的系统行为,例如降低系统或应用程序的性能或系统暂停。更改仅应在性能分析识别出瓶颈时才适用。
注:
对于性能相关的调谐设置,不存在什么一般建议。
应用额外的资源
在前述所有的方法都用尽后如果系统性能仍不能满足它的目标,则必须增强或扩展关键资源。如果关键资源是逻辑资源且下层物理资源足够,则无需额外代价就可以扩展逻辑资源。如果关键资源是物理资源,分析员必须研究一些额外的问题:
必须增强或扩展关键资源到什么程度才可以终止瓶颈?
系统性能会满足它的目标吗?或另外的资源会首先饱和吗?
如果有一串关键资源的话,增强或扩展所有这些资源或与另一系统划分当前工作负载是否更节省成本呢?
性能基准
当试图比较不同环境中给定软件的性能时,常会遇到许多可能的错误,一些是技术上的,一些是概念上的。本节包含主要的提示信息。本书其它各节讨论评测过去和特定处理时间的不同方法。
评测处理系统调用需要花费的时间(挂钟)时,需要获取一个由下列内容组成的数字:
执行正运行服务的指令所需要的确切时间
处理器等待内存中的指令或数据时延迟的不同时间(也就是说,高速缓存和 TLB 不命中的代价)
在调用开头和结束访问时钟所需要的时间
由周期性事件如系统定时器中断所消耗的时间
由或多或少的随机事件消耗的时间,如 I/O
为了避免报告一个不精确的数字,常常要求多次评测工作负载。因为所有的外部的因素都会增加处理时间,典型的评估集有一个曲线的形式

可以通过“FileOutputStream”(此时指定编码格式即可)创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/testtxt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“testtxt”实例
pwwrite("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pwclose();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

只能说一下个人保持不乱码的经验,一要保持xshell的字符集和服务器控制台的系统语言字符集一致,二vi的vimrc设置里的语言要加入utf8,gbk等常用字符集,三在控制台cat less这些直接打印文件内容的,文件字符集要和控制台字符集一致,这样就没有乱码了

oslevel   查看 *** 作系统版本。

oslevel -r 查看 *** 作系统补丁版本。

lslpp  -l|grep soft_name   查看安装的软件版本。

AIX (Advanced Interactive eXecutive)是IBM基于AT&T Unix System V开发的一套类UNIX *** 作系统,运行在IBM专有的Power系列芯片设计的小型机硬件系统之上。

2018年9月计算机三级网络技术知识:服务器 *** 作系统

服务器 *** 作系统

本单元概览

一、网络 *** 作系统的特点。

二、网络 *** 作系统的类型与功能。

三、windows网络 *** 作系统。

四、unix网络 *** 作系统。

五、linux网络 *** 作系统。

一、网络 *** 作系统的特点

1、 *** 作系统定义

最靠近硬件的一层系统软件,是计算机与用户之间的接口。

分为单机 *** 作系统和网络 *** 作系统。

从两个方面说明 *** 作系统:

为应用程序提供运行环境,为用户提供简单方便的工作界面。

管理计算机资源,使资源利用率更高,使上层的应用程序可以获得比硬件提供的功能更多的支持。

*** 作系统的管理功能:进程管理、内存管理、文件系统、设备I/O。

进程管理:进程是指将执行的程序。 *** 作系统提供了一种启动进程的机制。在DOS中用EXEC函数。在Windows和OS/2中用Createprocess,该代码存储在 *** 作系统的内核KERNEL32DLL文件中。

内存管理:为每一个应用程序分配所必须的内存空间,而不占用其他应用程序的内存。DOS运行于实模式下。只有1MB的内存编址。Windows运行于保护模式下,可以使用扩展内存,如果实内存不够,还要提供虚拟内存。并能采取某些步骤阻止应用程序访问不属于它的内存。

文件系统:在DOS中,称作文件表(FAT);在Windows里,称作虚拟文件表(VFAT);在OS/2中称作高性能文件系统(HPFS)。

设备I/O 来源:考试大网

*** 作系统的组件:

• 驱动程序:是最底层的,直接控制和监视各类硬件的部分

• 内核:核心部分,负责提供基础性、结构性功能

• 接口库:一系列特殊程序库,职责是将系统提供的服务包装成应用程序能够使用的应用编程接口(API)

• 外围组件:以上3类外的其他部分,用于提供特定高级服务的组件。

这些组件在 *** 作系统中的不同布局形成了 *** 作系统的几种结构。

• 简单结构:如MS-DOS

• 内核结构:分为单内核、微内核、外核等。如:unix、linux、windows等为单内核。

网络 *** 作系统除具有单机 *** 作系统功能(进程、文件、内存、I/O设备)外,还具有网络通信,并提供网络服务功能的 *** 作系统。

二、网络 *** 作系统的类型与功能

1、网络 *** 作系统的基本任务:屏蔽本地资源与网络资源的差异,为用户提供各种基本的网络服务功能,完成网络共享系统资源的管理,并提供网络系统的安全性服务。

2、典型的网络 *** 作系统具有硬件独立的特征,为此,Microsoft公司提出了HAL(硬件抽象层)的概念。

3、网络 *** 作系统的分类:专用型NOS,通用型NOS。通用型NOS分为变形级系统、基础级系统。

专用的NOS:为某种特定网络应用要求而设计的

通用NOS:提供基本的网络服务功能,满足用户各个领域的需要。

通用型NOS分为:

• 变形级系统:在单机OS基础上,通过增加网络功能构成的

• 基础级系统:以硬件为基础的,根据网络服务的要求,专门设计的网络OS。

4、NOS结构的发展:对等结构网络 *** 作系统、非对等结构网络 *** 作系统、文件服务器。

5、网络 *** 作系统的基本服务、功能

• 文件服务:以集中方式管理共享文件

• 打印服务:网络打印服务,本着“先到先服务”的原则。

• 数据库服务:依照C/S工作模式,客户端通过SQL语言向数据库服务器发送查找请求。

• 通信服务:客户机与客户机之间的对等通信、客户机与服务器之间的通信服务。

• 信息服务:局域网可以通过存储转发或对等方式完成电子邮件服务。

• 分布式服务:将分布在不同地理位置的网络中的资源,组织在全局性的、可复制的分布数据库中。

• 网络管理服务:提供网络性能分析、网络状态监控、存储管理等。

• Internet/Intranet服务:企业内部网与Internet之间的访问。

三、Windows网络 *** 作系统

1、Windows发展:1985 年 Windows10~20、30、NT、95、98、2000、XP、vista

2、Windows NT:

Windows NT分为两部分:Windows NT Server服务器端,Windows NT Workstation客户端。

Windows NT从应用角度的两个概念:域模型和工作组模型。

Windows NT中域的概念:Windows NT Server 以域为单位实现网络资源的集中管理。在NT 域中,只能有一个主域控制器(运行WindowsNT server的计算机),还有备份域控制器与普通控制器,都是运行NT SERVER的计算机。

3、Windows NT的特点:

• 内存与任务管理:采用32位体系结构,内存空间可达4G,线程管理,应用程序更有效运行。

• 开放体系结构:允许使用不同网络协议。NT内置4种标准网络协议:TCP/IP、MWlink

协议、NetBIOS的扩展用户接口(NetBEUI)、数据链路控制协议。

• 内置管理:可以为每个文件规定不同的访问权限与用户审计。

• 集中式管理:通过域与域信任关系实现对大型网络的管理。

• 用户工作站管理:通过用户描述文件,对工作站用户的优先级、网络连接、程序组与

用户注册进行管理。

优点:兼容性与可靠性,便于安装使用,优良的安全性,自动检测计算机配置。

缺点:管理比较复杂,开发环境不尽人意。

4、Windows 2000 Server

Windows 2000 Server由运行服务器端的Windows 2000 Server和运行于客户端的Windows 2000 Professional 。

特点:

• 活动目录管理。包含两部分:目录(数据库,用来存放网络对象的物理容器)和目录服务(网络服务,提供命名、描述、查找、访问以及保护实体信息一致的方法)

• 基本管理单位是域。域之间通过可传递的信任关系建立起树状连接。管理员只能管理域内部。

• 所有域之间是平等的,不再区分主域控制器与备份域控制器。

• 不再划分全局组与本地组,组内可以包含任务用户和其他账户。

5、Windows Server 2003 *** 作系统

依据NET架构对NT技术做了实质性的改进,构筑了NET的最基础的一环。

Windows Server 2003的版本: Windows Server 2003 Web版, Windows Server 2003标准板, Windows Server 2003 数据中心版, Windows Server 2003 企业版

不同版本的Windows Server 2003的适应范围不同,所要求的硬件支持都有所不同。

Windows Server 2003应用服务平台:通过IIS(Internet Informationg services),AspNET,NET Framework等技术以及Microsoft的visual studio 2005工具集结合,可为各类企业提供所需要的、运行在Web应用平台上的应用服务器。

在Windows Server 2003 R2版中还增加了UNIX/Windows互 *** 作性,降低了存储管理成本等功能

6、Windows Server 2008 *** 作系统(动态IT系统)

Windows Server 2008有4个方面的创新性能:

• 虚拟化技术:在 *** 作系统与硬件之间,以一个角色的身份添加一个Hypervisor软件层,负责直接管理虚拟机的工作。可以将资源划分为父分区(主 *** 作系统)和子分区(虚拟机所在分区)。

• 增强平台的可靠性:通过服务器内核、外壳、Windows Deployment Services以及增强的联网与集群技术,为应用要求和工作负荷提供可靠的Windows Server 平台。

• 提高安全性:为网络、数据和业务提供网络接入保护、联合权限管理以及只读的域控制器等,增加了 *** 作系统的安全性。

• 广泛适合的网络解决方案:能够高效地提供丰富的Web体验和最新的网络解决方案。

7、Visual Studio 2008的改进:对编程语言、设计器、我器、数据访问功能进行了全面的提升。

8、SQL Server 2008的改进:通过Resource Governor管理并发工作负载;通过Policy Based Management在企业范围内加强策略的兼容性,通过数据压缩及稀疏阵列来降低存储需求,提升查询性能等。还具有商务智能(BI)。

四、NetWare网络 *** 作系统

NetWare是Novell公司推出的 *** 作系统,在上个世纪80年代曾风靡一时。

1 NetWare *** 作系统的组成:文件服务器内核(核心设备)、工作站外壳、低层通信协议。

2 NetWare *** 作系统的特点:

NetWare文件系统所有的目录与文件都建立在服务器硬盘上。NetWare文件系统实现了:多路硬盘处理和高速缓冲算法,加快了硬盘通道的访问速度。高效硬盘访问机制有目录Cache、目录Hash、文件Cache、后台写盘、电梯升降查找法与多硬盘通道等。

NetWare通过目录文件结构组织文件。文件系统的结构为:文件服务器、卷、目录、子目录、文件的层次结构。

因而访问一个文件的路径为:文件服务器名\卷名:目录名\子目录名\文件名

NetWare的网络用户类型:网络管理员、组管理员、网络 *** 作员、普通用户。

NetWare的四级安全保密机制:

1) 注册安全性

2) 用户信任者权限

3) 最大信任者权限屏蔽

4) 目录与文件属性

NetWare的系统的容错技术:

1)三级容错机制

SFT Ⅰ主要针对硬盘表面磁介质可能出现的故障而设计。 SFTⅠ采用双重目录与文件分配表、磁盘热修复与写后读验证等措施。

SFT Ⅱ主要针对硬盘或硬盘通道故障而设计,SFT Ⅱ采用硬盘镜像与硬盘双工。

SFT Ⅲ 提供文件服务器镜像功能。

2)事务跟踪系统: 一个事务要么全部完成,要么返回初始状态。防止在写数据库记录的过程中因系统故障而造成的数据丢失。

3)UPS监控:为了防止因供电系统电压或突然中断而影响文件服务器及关键网络设备工作

NetWare的优点:强大的文件及打印功服务能力;良好的兼容性及系统容错能力;比较完备的安全措施。

NetWare的缺点:工作站资源无法直接共享、安装及维护管理比较复杂

Intranet Ware *** 作系统管理核心是Novell目录服务。其特点:能建立功能强大的企业内部网络;能保护用户现有的投资;能方便的管理网络与保证网络安全;能集成企业的全部网络资源;能大大减少网络管理的开支。

四、UNIX网络 *** 作系统(免费,C语言编写可移植性好,最侧重于客户机/服务器网络环境)

1、UNIX特点:

1) UNIX系统是一个多用户、多任务的分时 *** 作系统。

2) UNIX系统结构分两大部分: *** 作系统内核和外壳。内核分为文件子系统和进程控制子系统。内核部分的 *** 作原语可以直接对硬件起作用。内核提供服务:网络监控、内核进程管理、服务器/工作站连接管理。

3) UNIX大部分C语言编写,使得系统易读、易修改、易移植

4) UNIX提供了丰富的、经过精心挑选的系统调用。

5) UNIX提供了功能强大的外壳语言可编程shell语言,作为用户界面。

6) UNIX采用树状目录结构具有良好的安全性、保密性和可维护性。

7) UNIX提供多种通信机制,如管道,软中断通信等

8) UNIX采用进程对换的内存管理机制和请求调页的存储管理方式。实现虚拟存储管理。

2、计算机厂家在UNIX标准上分类为以AT&T的Sum公司为首的“UNIX国际”与以IBM、HP、DEC公司为首的“开放系统基金会”。两大阵营1993年共同成立了“公共开放软件环境”。

3、常用的UNIX系统有:

1)SUN公司的solaris,

2)IBM公司AIX,利用虚拟技术实现了逻辑分区、动态逻辑分区、微分区。

3)HP公司的HP-UX,良好的开放性、互 *** 作性和出色的软件功能在金融领域广泛应用。

4)SCO公司的OpenServer基于Intel平台;UNIXWare用户可以访问NetWare服务器文件。


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

原文地址: http://outofmemory.cn/zz/13162060.html

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

发表评论

登录后才能评论

评论列表(0条)

保存