免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: luren04
打印 上一主题 下一主题

【申请加精】来自UC的《Solaris 10红宝书》系列在线课程 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2008-04-14 13:58 |只看该作者

Solaris 10系统资源管理

第14章 Solaris 10系统资源的初级管理   
本章将为大家介绍Solaris 10的系统资源管理方面的初级知识。由于系统资源直接关系着服务提供商的服务质量和软件开发商的软件质量,所以它是系统管理人员和软件开发人员的共同关注点。

本章、第15章和第16章,都将介绍关于系统资源管理的知识,请读者务必将这三章联系起来学习,融会贯通。

论坛徽章:
0
52 [报告]
发表于 2008-04-14 13:59 |只看该作者
14.1 系统资源管理概述   
在计算机系统中,分配给用户使用的各种硬件和软件设施统称为系统资源。系统资源包括两大类:硬件资源和信息资源。其中,硬件资源分为处理器、存储器、I/O设备等,I/O设备又分为输入型设备、输出型设备和存储型设备;信息资源则分为程序和数据等资源。

操作系统的重要任务之一是有序地管理计算机系统中的硬件、软件资源,跟踪资源使用状况,满足用户对资源的需求,协调各程序对资源的使用冲突,为用户提供简单、有效的资源使用方法,最大限度地实现各类资源的共享,提高资源利用率,从而使得计算机系统的性能有很大提高。

对于从控制程序执行,扩充其功能,屏蔽使用细节,方便用户使用,组织合理工作流程,改善人机界面等方面,我们都可以理解为系统资源管理。

本章将从最基本的系统资源管理开始,逐步向读者介绍系统资源管理的知识。

首先,我们需要收集一些关于系统资源的信息。只有在了解系统资源信息后,才可以使我们对整个系统资源的使用情况有一个宏观的规划,从而实现系统资源的优化配置。

然后介绍对最常见的硬件资源,即硬盘的管理,对系统性能影响比较大的处理器和内存的管理将在第15章中介绍。

在Solaris系统中,我们可以用cron和at命令来定时执行命令或程序,以实现资源的定时调用。但本章的系统资源管理不包括用户如何分配资源和控制资源。这部分的内容,请参见第16章。

下面简要介绍在Solaris 10中新出现的两个管理资源工具:

 psrinfo命令

在以前的Solaris版本中,psrinfo命令为我们提供物理CPU方面的信息。在Solaris 10中,它增加了新的识别多线程属性,也可以提供CPU组方面的信息了。新增的-p属性可显示所有物理CPU的信息;而-pv是显示所有物理CPU和由物理CPU组成的CPU组。

 localeadm命令

localeadm命令是完全新增的,它可以让用户在不重新安装操作系统的情况下改变系统的地区属性。

论坛徽章:
0
53 [报告]
发表于 2008-04-14 13:59 |只看该作者
14.2 显示和改变系统资源信息   
本节主要介绍一些查看和改变系统的综合资源信息的方法。这些资源信息的内容可能是比较宏观、笼统的,但对我们了解系统资源的总体状况是非常有帮助的。

14.2.1 显示系统资源信息
作为系统管理员,需要经常查看系统资源信息,以确保系统资源的有效管理,保障系统的稳定运行。

“工欲善其事,必先利其器”,我们要首先了解显示系统资源信息的命令工具。表14-1列出了显示一般的系统信息的命令。

表14-1 显示系统信息的命令

命 令
命令说明
帮 助

date
显示日期和时间
date(1)

hostid
显示主机ID号
hostid(1)

isainfo
显示系统内核支持的应用程序的比特位数
isainfo(1)

isalist
显示在x86平台上系统支持应用程序的比特位数
psrinfo(1M)

localeadm
进行系统的时区设置
localeadm(1M)

prtconf
列出系统硬件信息
prtconf(1M)

psrinfo
显示CPU的类型
psrinfo(1M)

showrev
显示主机名、主机ID、内核版本、应用程序架构、硬件提供者信息等
showrev(1M)

uname
显示操作系统的名称、版本、节点名、硬件名和CPU类型
.name(1)


1.如何确认Solaris操作系统是32位兼容的还是64位兼容的
命令介绍:

# isainfo options

isainfo命令在不使用任何参数的情况下,也能显示操作系统的版本。

其中,

 -v 显示概要信息。

 -b 显示本地应用软件的比特位数。

 例14-1 在SPARC平台上,确认Solaris操作系统是32位兼容的还是64位兼容的。

(1)在UltraSPARC硬件平台上,运行以前使用的32位内核版本的Solaris操作系统,命令及输出如下:

$ isainfo -v

32-bit SPARC applications

这个输出意味着操作系统支持32位应用程序。

(2)在UltraSPARC硬件平台上,运行64位内核的Solaris操作系统的命令和输出如下:

$ isainfo -v

64-bit sparcv9 applications

32-bit SPARC applications

这个输出意味着系统能够支持32位和64位的应用程序。

请注意,使用isainfo –b命令可以显示支持本地应用软件的bit位数。

(3)在SPARC平台、 x86平台上运行32位内核的Solaris操作系统的命令和输出如下:

$ isainfo -b

32

(4)在64位UltraSPARC平台上运行64位内核Solaris操作系统的命令和输出如下:

$ isainfo -b

64

需要说明的是:虽然在64位UltraSPARC系统上能运行所有应用程序,但64位应用程序最好还是在64位的系统上运行。

 例14-2 在x86平台上,确认Solaris操作系统是32位兼容的还是64位兼容。

(1)在x86平台上运行64位内核的Solaris操作系统的命令和输出如下:

$ isainfo

amd64 i386

此输出意味着系统能支持64位的应用程序。

(2)在x86平台上运行32位内核的Solaris操作系统的命令和输出如下:

$ isainfo -v

64-bit amd64 applications

fpu tsc cx8 cmov mmx ammx a3dnow a3dnowx fxsr sse sse2

32-bit i386 applications

fpu tsc cx8 cmov mmx ammx a3dnow a3dnowx fxsr sse sse2

此输出意味着系统能支持64位和32位的应用程序。

(3)在x86平台上运行32位操作系统的命令和输出如下:

$ isainfo -b

32

(4)在x86平台上运行64位操作系统的命令和输出如下:

$ isainfo -b

64

(5)也可以使用isalist命令确认x86平台运行的是32位还是64位操作系统:

$ isalist

amd64 pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86

此输出表明此系统是64位系统。

2.如何显示物理CPU的类型
使用psrinfo -p命令来显示所有物理的CPU的数量。

 例14-3 显示系统中物理CPU的数量。

$ psrinfo -p

1

由输出可见,系统中只有一个物理CPU。

 例14-4 使用psrinfo -pv命令来显示物理CPU和关联的虚拟CPU。

$ psrinfo -pv

The UltraSPARC-IV physical processor has 2 virtual processors (8, 520)

The UltraSPARC-IV physical processor has 2 virtual processors (9, 521)

The UltraSPARC-IV physical processor has 2 virtual processors (10, 522)

The UltraSPARC-IV physical processor has 2 virtual processors (11, 523)

The UltraSPARC-III+ physical processor has 1 virtual processor (16)

The UltraSPARC-III+ physical processor has 1 virtual processor (17)

The UltraSPARC-III+ physical processor has 1 virtual processor (1

The UltraSPARC-III+ physical processor has 1 virtual processor (19)

 例14-5 在x86平台上使用命令psrinfo -pv。

$ psrinfo -pv

The i386 physical processor has 2 virtual processors (0, 2)

The i386 physical processor has 2 virtual processors (1, 3)

3.如何显示虚拟CPU的类型
(1)使用psrinfo -v 命令来显示CPU的类型:

$ psrinfo -v

(2)在x86平台上,使用isalist命令来显示虚拟CPU的类型:

$ isalist

 例14-6 在SPARC平台上,显示系统CPU的类型。

$ psrinfo -v

Status of virtual processor 0 as of: 04/16/2004 10:32:13

on-line since 03/22/2004 19:18:27.

The sparcv9 processor operates at 650 MHz,

and has a sparcv9 floating point processor.

 例14-7 在x86平台上,显示系统CPU的类型。

$ isalist

pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86

4.如何显示Solaris版本信息
操作系统的版本信息保留在/etc/release文件中。

 例14-8 显示操作系统的版本信息。

$ more /etc/release

Solaris 10 s10_51 SPARC

Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.

Use is subject to license terms.

Assembled 21 January 2004

5.如何显示系统综合信息
使用showrev –a命令可以显示系统的所有综合信息。

 例14-9 显示系统的所有综合信息。

$ showrev -a

Hostname: touchstone

Hostid: 8099dfb9

Release: 5.10

Kernel architecture: sun4u

Application architecture: SPARC

Hardware provider: Sun_Microsystems

Domain: boulder.Central.Sun.COM

Kernel version: SunOS 5.10 s10_46

OpenWindows version:

Solaris X10 Version 6.6.2 20 October 2003

No patches are installed

6.如何显示系统主机ID号、系统内存信息和系统日期时间
 例14-10 显示系统主机ID号、系统内存信息和系统日期时间。

(1)使用hostid命令可以显示系统主机ID号:

$ hostid

80a5d34c

(2)使用下面命令来显示系统内存信息:

# prtconf | grep Memory

Memory size: 128 Megabytes

(3)使用date命令来显示系统日期时间:

$ date

Wed Jan 21 17:32:59 MST 2004

7.如何显示和改变Locale设置
 例14-11 显示和改变系统时区设置。

(1)显示系统时区:

# localeadm -l

Checking for installed pkgs. This could take a while.

Checking for Australasia region (aua)

(1of2 pkgs)

|......|

The following regions are installed on concordance on Wed Dec 17 15:13:00 MST 2003

POSIX (C)

Central Europe (ceu)

[ Austria, Czech Republic, Germany, Hungary, Poland, Slovakia,

Switzerland (German), Switzerland (French) ]

Done.

上面例子中系统时区为澳大利亚,下面将其改为欧洲中部。

(2)改变系统Locale设置:

# localeadm -q ceu

locale/region name is ceu

Checking for Central Europe region (ceu)





The Central Europe region (ceu) is installed on this system

瞧,现在系统的时区已经是欧洲中部了。

8.显示系统已经运行的时间
使用命令uptime可以查看系统运行了多久。

 例14-12 显示系统运行了多久。

# uptime

11:27pm up 9 days,7:12,1 user,load average:0.07,0.12,0.14

显示目前时间是11:27pm,而系统已经开机了9天又7:12之多,目前有一个使用者在线上,过去1,5,15分钟系统平均负荷分别为0.07,0.12,0.14。

9.查看系统内存
prtconf命令可以查看关于系统硬件设备的很多信息。读者可以仿照例14-13来查看其他硬件信息。

 例14-13 查看系统内存信息。

# prtconf | grep Memory

Memory size: 512Megabytes

论坛徽章:
0
54 [报告]
发表于 2008-04-14 14:00 |只看该作者
14.2.2 改变系统信息
系统中有些提示信息是可以由管理员手工改动的,比如系统时间和系统用户登录时的提示等。下面具体介绍一些改变系统信息的方法。

1.改变系统日期和时间
命令介绍:

# date mmddHHMM[[cc]yy]

其中:

 mm——月,使用2位数字表示。

 dd——日,使用2位数字表示。

 HH——小时。

 MM——分钟。

 cc——秒。

 yy——年,使用2位数字表示。

 例14-14 改变系统时间。

# date

Wed Mar 3 14:04:19 MST 2005

# date 0121173404

Thu Jan 21 17:34:34 MST 2005

2.改变系统登录信息
步骤:

(1)以超级用户或授权角色用户登录系统。

(2)编辑系统登录信息所在的文件/etc/motd.,并保存。

3.改变主机名
步骤:

(1)成为超级用户或授权角色用户。

(2)修改下列文件:

 /etc/nodename

 /etc/hostname.host-name

 /etc/inet/hosts

(3)重新启动主机。

# init 6

4.如何增加和删除时区设置
上面已介绍改变系统的时区设置的方法,但是这是在有时区软件的情况下,如果操作系统中没有安装我们需要的时区的软件,怎么办?例14-15将介绍如何增添系统时区软件,例14-16将介绍如何删除时区软件。

 例14-15 增添系统时区软件,并更新系统时区设置。

使用命令localeadm,并在其-a选项后面放想安装的locale的标志符,-d选项后面接安装程序包的位置。

# localeadm -a ceu -d /net/install/latest/Solaris/Product

locale/region name is ceu

Devices are /net/install/latest/Solaris/Product



One or more locales have been added.

To update the list of locales available at



 例14-16 删除系统时区软件。

使用命令localeadm,-r选项后跟要删除的locale的标志符。

# localeadm -r ceu

locale/region name is ceu

Removing packages for Central Europe (ceu)



One or more locales have been removed.

To update the list of locales available

at the login screen’s "Options->Language" menu

论坛徽章:
0
55 [报告]
发表于 2008-04-14 14:00 |只看该作者
14.3 管理磁盘空间   
系统磁盘是存放数据资料和应用程序的地方,它的安全与效率对管理员来说具有特殊的意义。本节将详细介绍磁盘空间的管理。

14.3.1 查看磁盘空间的大小
查看磁盘空间的大小是系统管理员经常需要做的事情。Solaris操作系统提供了许多命令,以反映系统磁盘空间大小,由此可见查看系统空间大小的重要性。表14-2所示为磁盘空间信息的命令汇总。

表14-2 查看磁盘空间信息的命令

命 令
描 述
帮 助

df
报告空闲磁盘块和文件的数量
df(1M)

du
子目录的占用空间大小
du(1)

find -size
查找指定目录下指定大小的文件
find(1)

ls -lh
显示当前目录下文件及大小
ls(1)


下面仅列举三个例子,读者应该很容易明白如何使用它们查看系统磁盘空间信息了。

 例14-17 显示文件大小和磁盘空间。

$ df

/ (/dev/dsk/c0t0d0s0 ): 101294 blocks 105480 files

/devices (/devices ): 0 blocks 0 files

/system/contract (ctfs ): 0 blocks 2147483578 files

 例14-18 以1024K的形式显示文件大小和磁盘空间。

$ df -h

Filesystem size used avail capacity Mounted on

/dev/dsk/c0t0d0s0 249M 200M 25M 90% /

/devices 0K 0K 0K 0% /devices

 例14-19 以块的形式显示文件大小和磁盘空间。

$ df -t

/ (/dev/dsk/c0t0d0s0 ): 101294 blocks 105480 files

total: 509932 blocks 129024 files

/devices (/devices ): 0 blocks 0 files

total: 0 blocks 113 files

14.3.2 查看文件的大小
在了解磁盘空间大小之后,我们还需要了解文件的大小。只有这样才能合理地放置文件,有效地使用空间。

通常可以使用ls命令查看文件的大小:

ls

ls后加上-l参数,则列出当前目录的详细信息。在Solaris 10中,ls –l列出的文件的系统时间已经精确到微秒。

 例14-20 列出文件的详细信息。

$ ls -l

total 148

drwxrwxr-x 5 adm adm 512 Nov 26 09:39 acct/

-rw------- 1 uucp bin 0 Nov 26 09:25 aculog

drwxr-xr-x 2 adm adm 512 Nov 26 09:25 exacct/

使用find命令可以在目录中检索达到一定标准的文件。

 例14-21 在当前目录下列出大于400块的文件。

$ find . -size +400 -print

./Howto/howto.doc

./Howto/howto.doc.backup

./Howto/howtotest.doc

./Routine/routineBackupconcepts.doc

14.3.3 检查目录的大小
使用du命令来检查目录的大小。

命令介绍:

$ du [-as] [directory ...]

du命令是显示目录及目录下的子目录的总体大小。

 -a参数是显示每个目录的大小和块数。

 -s参数是显示专门目录大小是多少块数。

 -h参数是显示每个目录的大小是多少KB。

 例14-22 显示目录、子目录和文件的大小。

显示目录大小是多少块数:

$ du -s /var/adm /var/spool/

130 /var/adm

40 /var/spool/lp

显示目录的大小是多少KB:

$ du -h /usr/share/audio

796K /usr/share/audio/samples/au

797K /usr/share/audio/samples

798K /usr/share/audio

14.3.4 查找特定文件
在磁盘空间管理中,文件管理是非常重要的。一些旧的不再需要的文件,往往占用了宝贵的资源,找到并删除这些旧文件,是系统管理者必须做的。

1.如何按时间排序列出文件
使用ls –tl命令列出最新的文件,-t参数是要求输出按时间排序,时间最新的在最上边。

 例14-23 按照时间顺序列出目录内文件。

$ ls -tl /var/adm

total 134

-rw------- 1 root root 315 Sep 24 14:00 sulog

-r--r--r-- 1 root other 350700 Sep 22 11:04 lastlog

-rw-r--r-- 1 root bin 4464 Sep 22 11:04 utmpx

-rw-r--r-- 1 adm adm 20088 Sep 22 11:04 wtmpx

2.如何找到并删除旧的或不用的文件
步骤:

(1)成为超级用户或授权角色用户。

(2)找到旧的或不用的文件。

命令介绍:

# find directory -type f[-atime +nnn][-mtime +nnn] -print > filename &

 directory—在此目录下查找。

 -atime +nnn—匹配所有在nnn天内访问过的文件。

 -mtime +nnn—匹配所有在nnn天内修改过的文件。

 filename—查找的结果列放在此文件中。

(3)删除:

# rm 'cat filename'

3.如何找到并删除core文件
core文件是系统软件故障信息记录文件。可用下面的方法来删除这些文件。

步骤:

(1)成为超级用户或授权角色用户。

(2)进入你想要查找core文件的目录。

(3)找到并删除core文件:

# find . -name core -exec rm {} \;

论坛徽章:
0
56 [报告]
发表于 2008-04-14 14:01 |只看该作者
14.4 使用Quota管理磁盘空间   
本节介绍如何使用Quota来限定用户使用磁盘空间的大小。

14.4.1 Quota概述
对磁盘空间资源进行必要的管理是系统管理员的工作之一。尤其当系统磁盘空间有限,而用户众多的时候,系统管理员就要想出办法,要么增加磁盘的数量,要么限定用户的使用空间。在不增加新的预算的情况下,限定用户空间就是惟一可行的方法。

Quota可以帮助系统管理员在指定目录限定用户使用磁盘空间的大小。

Quota在限制磁盘空间方面有两种措施:硬限制和软限制。硬限制就是系统严格限制用户可以使用空间的大小,不允许超额。软限制是允许用户超出限额一定的范围。当超出软限额时,Quota开始计时,在计时期间(默认时为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置),用户释放空间到限额以下,计时复位清零。如果到期还没有释放空间,系统将不再允许该用户使用更多的空间。

Quota限制磁盘空间的方法也有两种,即分别对inode和block进行限制。因为系统给用户提供了两种资源:inode和block,分别用于存储文件和数据。只要用户所建立的文件超过他可以使用的inode数额,则即使这些文件都是空的,他再次建立文件的行为也将被限制。

14.4.2 设置Quota
Solaris操作系统支持Quota技术,意即设置Quota不需要另外安装其他第三方的工具就可以完成。

设置Quota步骤:

(1)编辑/etc/vfstab文件,在需要设置Quota的UFS的属性上加上rq标志。

(2)在该文件系统的根目录下建立名为quotas的文件,该文件的所有者应是root,其他用户不可对它进行写操作。

(3)使用edquota命令来在UFS的根目录下创建一个临时文件,这个文件的内容包括用户的使用限额。

(4)为多个用户设置edquota限额(可选)。

(5)使用quotacheck命令对限额的一致性进行检查。

(6)用quotaon命令来启动edquota服务。

 例14-24 在磁盘c0t4d0s0的mount点/work下建立磁盘使用限额。

(1)成为超级用户或授权角色用户。

(2)编辑/etc/vfstab文件,加上:

/dev/dsk/c0t4d0s0 /dev/rdsk/c0t4d0s0 /export/home ufs 3 yes rq

(3)/export/home目录下,建立名为quotas的文件。

# touch quotas

# chmod 600 quotas

(4)使用edquota命令来建立用户的使用限额:

# edquota bob

系统生成:fs /export/home blocks (soft =10, hard =10) inodes (soft =10, hard =10)

其中,fs字段表明使用硬盘限额的文件系统,为/export/home;bob为用户名。修改soft和hard的数额就可以设定限额的大小。0是无限额设定;本次设定限额大小为10MB。

(5)以bob用户设置为模板,为多个用户设置edquota限额,mary和john也为用户名。

# edquota -p bob mary john

(6)使用quotacheck -va命令对限额的一致性进行检查。

# quotacheck -va

*** Checking quotas for /dev/rdsk/ c0t4d0s0 (/export/home)

(7)用quotaon命令来启动edquota服务:

#quotaon /export/home

14.4.3 检查Quota设置
Quota设置后,我们可以用下面的命令来检查设置是否成功。

# repquota -va

/dev/dsk/ c0t4d0s0 (/export/home):

Block limits File limits

User used soft hard timeleft used soft hard timeleft

Bob -- 1 10 10 0 0 10 10 0

Mary -- 3 10 10 0 0 10 10 0

John -- 0 10 1 0 0 10 10 0

磁盘块限制的定义:

 used——当前已经使用的块数。

 soft——soft-block限制数额。

 hard——hard-block限制数额。

 timeleft——剩余的可使用时间。.

文件限制定义:

 used——已经使用的inode数量。

 soft——soft-inode limit限制数额。

 hard——hard-inode限制数额。

 timeleft——剩余的可使用时间。

14.4.4 改变和删除Quota设置
下面简要介绍一些改变和删除Quota设置的命令。

(1)改变时间限额设置:

# edquota -t

(2)改变用户限额限额设置:

#edquota username

(3)检查用户限额设置是否正确:

#edquota -v [用户名]

(4)关闭quota服务:

#quotaoff [quota根目录]

论坛徽章:
0
57 [报告]
发表于 2008-04-14 14:01 |只看该作者
14.5 系统资源的定时调用   
Solaris操作系统支持系统资源的定时调用。本节将介绍系统管理员如何通过相关命令和设置,按照事先定好的时间调用系统资源。

14.5.1 系统资源的循环定时调用
可以使用crontab将系统设定在每天、每周和每月的某个时刻自动运行某个命令或者应用程序,实现系统资源的循环定时调用。在不需要人工干预的情况下,还可以设定好将系统执行信息记录在某个文件之中,我们定期查看这些文件,以了解系统执行情况。

1.crontab命令的使用
命令介绍:

crontab

参数:

 -e:执行文字编辑器来设定时程表,内定的文字编辑器是VI。

 -r:删除目前的时程表。

 -l:列出目前的时程表。

时程表的格式如下:

f1 f2 f3 f4 f5 program

具体解释如下:

 其中f1是表示分钟,f2表示小时,f3表示一个月份中的第几日,f4表示月份,f5表示一个星期中的第几天。program表示要执行的程序。

 当f1为*时表示每分钟都要执行program,f2为*时表示每小时都要执行程序,其余类推。

 当f1为a~b时表示从第a分钟到第b分钟这段时间内要执行,f2为a~b时表示从第a到第b小时都要执行,其余类推。

 当f1为*/n时表示每n分钟个时间间隔执行一次,f2为*/n表示每n小时个时间间隔执行一次,其余类推。

 当f1为a, b, c,…时表示第a, b, c,…分钟要执行,f2为a, b, c,…时表示第a, b, c…个小时要执行,其余类推。

使用者也可以将所有的设定先存放在档案file中,用crontab file的方式来设定时程表。

 例14-25 使用crontab实现定时执行。

每月每天每小时的第0分钟执行一次/bin/ls:

0 * * * * /bin/ls

在12月内,每天早上6点到12点钟之间,每隔20分钟执行一次/usr/bin/backup:

0/20 6-12 * 12 * /usr/bin/backup

周一到周五每天下午5:00寄一封信给aleex@domain.name

0 17 * * 1-5 mail -s "hi" aleex@domain.name < /tmp/maildata

每月每天的午夜0点20分,2点20分,4点20分……执行echo "haha":

20 0-23/2 * * * echo "haha"

2.如何控制用户使用crontab命令
控制使用crontab命令的文件存在/etc/cron.d目录下,即cron.deny和cron.allow两个文件。这两个文件与用户名相联系,一个用户名在文件中列为一行。控制文件是这样工作的:

 如果cron.allow文件存在,只有列在文件中的用户才能创建、编辑、显示和删除crontab文件。

 如果cron.allow不存在,除列在cron.deny文件中用户名的用户外,所有用户都能创建、编辑、显示和删除crontab文件。

 如果cron.allow和cron.deny文件都不存在,只有超级用户才能使用crontab命令。

cron.deny文件系统初始化安装时就已经存在,cron.deny默认的内容如下:

$ cat /etc/cron.d/cron.deny

daemon

bin

smtp

nuucp

listen

nobody

noaccess

列在cron.deny中的用户都不能使用crontab命令。你可以编辑文件以添加或删除用户名。

而cron.allow文件在默认情况下是不存在的,必须由用户创建。所以,当系统刚安装好后,除了列在cron.deny用户外,其他所有用户都可以使用crontab命令。如果你建立cron.allow文件,那么就只有列在这个文件中的用户可以使用crontab命令。

14.5.2 系统资源的一次性定时调用
使用at命令,可以使系统在以后的某个时刻执行一项命令或程序,从而实现系统资源的调用。

1.at命令的使用
命令介绍:

$ at [-m] time [date]

参数:

 -m执行完后给执行用户邮件通知。

 time执行命令的时间,以小时或分钟表示。

 data执行命令的时间,以天数表示。

 例14-26 使用at命令实现定期执行任务。

(1)创建定期执行的任务。

在下午19:30分执行删除/home/jones/*.backup文件的任务:

$ at -m 1930

at> rm /home/jones/*.backup

at> Press Control-D

job 897355800.a at Thu Jul 12 19:30:00 2004

(2)显示定期执行任务队列。

使用atq命令可以查看任务队列:

$ atq

Rank Execution Date Owner Job Queue Job Name

1st Jul 12, 2004 19:30 jones 897355800.a a stdin

2nd Jul 14, 2004 23:45 jones 897543900.a a stdin

3rd Jul 17, 2004 04:00 jones 897732000.a a stdin

(3)显示定期执行的任务。

$ at -l

897543900.a Sat Jul 14 23:45:00 2004

897355800.a Thu Jul 12 19:30:00 2004

897732000.a Tue Jul 17 04:00:00 2004

(4)删除定期执行的任务。

先显示定期执行任务,再用at –r命令来删除:

$ at -l

897543900.a Sat Jul 14 23:45:00 2003

897355800.a Thu Jul 12 19:30:00 2003

897732000.a Tue Jul 17 04:00:00 2003

$ at -r 897732000.a

$ at -l 897732000.a

at: 858142000.a: No such file or directory

2.如何控制用户使用at命令
通过/etc/cron.d目录下的at.deny文件,我们可以控制使用at命令的用户。这个文件与用户名相关,一个用户名在文件中列为一行。凡是列入这个文件的用户,都禁止使用at命令。

系统安装好后,at.deny就已经默认存在了。它包含下列用户名:

daemon

bin

smtp

nuucp

listen

nobody

noaccess

超级用户可以编辑at.deny文件,以增加和删除用户。

论坛徽章:
0
58 [报告]
发表于 2008-04-14 14:02 |只看该作者
第15章 系统性能的监控与进程的管理   
监测和管理系统性能是系统管理员一项非常重要的任务。监测结果可以判断当前用户的应用和系统服务是否有效执行;管理系统进程是系统性能调优的重要手段。本章将介绍系统性能的监控和进程的管理方法。

论坛徽章:
0
59 [报告]
发表于 2008-04-14 14:04 |只看该作者
15.1 监控系统性能   
Solaris提供了许多监控工具来监控设备和核心部件的运行情况。本节将介绍一些传统的监控工具。值得一提的是,Solaris 10推出的dtrace超越了传统的UNIX系统提供的性能工具,可以用dtrace的sysinfo provider来完成所有的性能分析工作。有关dtrace的详细介绍,请参见第18章。

15.1.1 虚拟内存的统计显示
可以使用vmstat命令来报告虚拟内存的统计信息和系统事件信息,如CPU负载、内存分页、设备中断、系统调用等。此外,vmstat命令还可以显示SWAP区交换、缓存和中断的统计信息。vmstat命令的具体内容请参见表15-1。

表15-1 vmstat命令的输出

种 类
具体内容
描 述

procs


报告下列内容



r
等待运行的进程数

b
处在非中断睡眠状态的进程数

w
被交换出去的可运行的进程数

memory


报告真正内存和虚拟内存的使用情况



swap
可用的交换空间,单位为KB

free
空闲的内存,单位为KB





续表

种 类
具体内容
描 述

page


报告页面错误和换页活动,单位为秒。



re
回收的页面

mf
非严重错误的页面

pi
进入页面数(单位:k)

po
出页面数(单位:k)

fr
空余的页面数(单位:k)

de
提前读入的页面中的未命中数

sr
正在被page后台程序扫描的页面。如果它不为0,说明page后台程序正在运行。

disk


显示每秒磁盘操作的次数,显示数据最大的四个盘片。

fault


显示每秒的中断数



in
设备中断

sy
系统中断

cy
cpu交换

cpu


表示cpu的使用状态



cs
用户进程使用的时间

sy
系统进程使用的时间

id
cpu空闲的时间


1.显示虚拟内存的统计信息
使用vmstat n命令可以显示虚拟内存的统计信息,其中n为每次报告的时间间隔秒数。

 例15-1 使用vmstat命令每5秒报告一次虚拟内存信息。

$ vmstat 5

kthr memory page disk faults cpu

r b w swap free re mf pi po fr de sr dd f0 s1 -- in sy cs us sy id

0 0 0 863160 365680 0 3 1 0 0 0 0 0 0 0 0 406 378 209 1 0 99

0 0 0 765640 208568 0 36 0 0 0 0 0 0 0 0 0 479 4445 1378 3 3 94

2.显示系统事件的信息
 例15-2 使用vmstat –m来显示系统启动以后发生的多个系统事件信息。

$ vmstat -s

0 swap ins

0 swap outs

0 pages swapped in

0 pages swapped out

522586 total address trans. faults taken-----地址解析错误数量

17006 page ins

25 page outs

23361 pages paged in

28 pages paged out

45594 total reclaims

45592 reclaims from free list

0 micro (hat) faults

522586 minor (as) faults

16189 major faults

98241 copy-on-write faults

137280 zero fill page faults

45052 pages examined by the clock daemon

0 revolutions of the clock hand

26 pages freed by the clock daemon

2857 forks

78 vforks

1647 execs

34673885 cpu context switches

65943468 device interrupts

711250 traps

63957605 system calls

3523925 total name lookups (cache hits 99%)

92590 user cpu

65952 system cpu

16085832 idle cpu

7450 wait cpu

3.显示交换数据统计信息
 例15-3 显示交换数据统计信息。

$ vmstat -S

kthr memory page disk faults cpu

r b w swap free si so pi po fr de sr dd f0 s1 -- in sy cs us sy id

0 0 0 862608 364792 0 0 1 0 0 0 0 0 0 0 0 406 394 213 1 0 99

4.显示系统中每个设备的中断信息
 例15-4 显示系统中每个设备的中断信息。

$ vmstat -i

interrupt total rate

------------------------------------------------------------------------------------------

clock 52163269 100

esp0 2600077 4

zsc0 25341 0

zsc1 48917 0

cgsixc0 459 0

lec0 400882 0

fdc0 14 0

bppc0 0 0

audiocs0 0 0

------------------------------------------------------------------------------------------

Total 55238959 105

论坛徽章:
0
60 [报告]
发表于 2008-04-14 14:05 |只看该作者
15.1.2 显示磁盘的使用信息
使用iostat命令可以报告磁盘的输入/输出(I/O)的统计信息,并检测磁盘的吞吐量、利用率、队列、处理速率和服务时间。

1.显示磁盘的利用率信息
 例15-5 每5秒钟采集一次磁盘使用信息。

$ iostat 5

tty sd0 sd6 nfs1 nfs49 cpu

tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id

0 0 1 0 49 0   0 0 0 0 0 0 0 15 0 0 0 100

0 47 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0 100

表15-2列出显示信息的详细解释。

表15-2 显示信息的详细解释

设备类型
具体内容
描 述

终端
tin
在终端输入队列中的字符数量

tout
在终端输出队列中的字符数量

磁盘
kps
表示每秒传送的比特率
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP