《linux核心应用命令速查》连载十五:chkconfig:设置系统的各种服务

chkconfig:设置系统的各种服务

作用:chkconfig命令检查、设置系统的各种服务。

用法:chkconfig [--add][--del][--list][系统服务]

或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

主要选项如下。

— --add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

— --del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。

— --level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关闭。

说明:chkconfig提供了一个简单的命令行工具用于维护/etc/rc[0-6].d的路径层次,可以帮助系统管理员在这些路径中直接操作符号行,chkconfig的执行是通过chkconfig命令激发的,此命令目前在irix操作系统中存在,甚至包括了维护/etc/rc[0-6].d层次之外的设置信息。chkconfig有5个不同的函数:为管理器添加新服务,从管理器中移出服务,列出当前启动的服务信息,改变服务启动信息,检查特殊服务的启动状态。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

应用实例如下。

(1)显示所有服务的状态

#chkconfig –list

结果如图4-5所示。

clip_image002

图4-5 显示所有服务的状态

结果会看到一个系统服务列表,以及它们在运行级别0~6中已被启动(on)或停止(off)。

(2)chkconfig管理服务技巧

从图4-5的列表末端,会看到由xinetd管理的服务部分。如果使用chkconfig--list来查询由xinetd管理的服务,会看到xinetd服务是被启用了(on)还是被关闭了(off)。例如,命令chkconfig--list finger返回了下列输出:

finger on

如上所示,finger作为xinetd服务被启用。如果xinetd在运行,finger就会被启用。

如果使用chkconfig --list来查询/etc/rc.d中的服务,会看到服务在每个运行级别中的设置。例如,命令chkconfig --list anacron返回了下列输出:

Anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off

chkconfig还能用来设置某一服务在某一指定的运行级别内被启动还是被停运。例如,要在运行级别3,4,5中停运nscd服务,使用下面的命令:

Chkconfig --level 345 nscd off

补充说明:由xinetd管理的服务会立即被chkconfig影响。例如,如果xinetd在运行,finger被禁用,那么执行了chkconfig finger on命令后,finger可以自动随xinetd的改变而自动启用。对其他服务的改变在使用chkconfig之后不会立即生效,必须使用service daemon stop命令来停止个别服务。在前面的例子中,可以把daemon换成想停止的服务名称(如httpd)、把stop换成start或restart来启动或重新启动该服务。

4.23 strace:跟踪一个进程的系统调用或信号产生的情况

作用:strace命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。strace显示这些调用的参数并返回符号形式的值。strace从内核接收信息,而且不需要以任何特殊的方式来构建内核。

用法:strace [选项]

主要选项如下。

— -f:除了跟踪当前进程外,还跟踪其子进程。

— -o file:将输出信息写到文件file中,而不是显示到标准错误输出(stderr)。

— -p pid:绑定到一个由pid对应的正在运行的进程,此参数常用来调试后台进程。

应用实例如下。

(1)跟踪vim及其子进程的运行,将输出信息写到文件vim.strace

# strace -f -o vim.strace vim

(2)strace同时跟踪多个进程

#strace -o a.strace -f -F -p 4579 -p 4580 -p 4581

4.24 ltrace:跟踪进程调用库函数的情况

作用:ltrace命令用来跟踪进程调用库函数的情况。

用法:ltrace [选项]

主要选项如下。

— -f:除了跟踪当前进程外,还跟踪其子进程。

— -o file:将输出信息写到文件file中,而不是显示到标准错误输出(stderr)。

— -p pid:绑定到一个由pid对应的正在运行的进程,此参数常用来调试后台进程。

— -d:打印调试信息。

应用实例如下。

跟踪一个pid为234的已经在运行的进程:

#ltrace -p 234

4.25 vmstat:报告虚拟内存统计信息

作用:vmstat命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。由vmstat命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

用法:vmstat [-V] [-n] [延时[次数]]

主要选项如下。

— -n:开关令第一次的信息只显示一次而不是周期地产生。

— 延时:是以秒为单位的刷新时间间隔。如果没有给出此延时时间,则仅显示系统启动至今的平均值。

— 次数:指的是更新的次数。如果没有指定次数而又定义了延时时间,则次数的默认值是无穷次。

— -V:开关可以用来输出该命令的版本信息。

应用实例如下。

使用vmstat 5 5(表示在5秒时间内进行5次采样)命令测试:

#vmstat 5 5

procs memory swap io system cpu

r b w swpd free buff cache si so bi bo in cs us sy id

0 0 0 0 32188 6412 47252 0 0 200 47 121 89 8 6 85

0 0 0 0 32188 6420 47252 0 0 0 6 101 20 0 0 100

0 0 0 0 32188 6420 47252 0 0 0 0 101 19 0 0 100

0 0 0 0 32188 6420 47252 0 0 0 0 101 20 0 0 100

0 0 0 0 32188 6420 47252 0 0 0 0 101 22 0 0 100

结果将得到一个数据汇总,它可以反映真正的系统情况。vmstat命令输出分成6个部分。

(1)进程procs

r:在运行队列中等待的进程数。

b:在等待I/O的进程数。

w:可以进入运行队列但被替换的进程。

(2)内存memory

swpd:现时可用的交换内存,单位为KB。

free:空闲的内存,单位为KB。

buff:缓冲区中的内存数,单位为KB。

cache:被用来作为高速缓存的内存数,单位为KB。

(3)swap交换页面

si:从磁盘交换到内存的交换页数量,单位为KB/s。

so:从内存交换到磁盘的交换页数量,单位为KB/s。

(4)I/O块设备

bi:发送到块设备的块数,单位为块/秒。

bo:从块设备接收到的块数,单位为块/秒。

(5)system系统

in:每秒的中断数,包括时钟中断。

cs:每秒的环境(上下文)切换次数。

(6)CPU中央处理器

cs:用户进程使用的时间,以百分比表示。

sy:系统进程使用的时间,以百分比表示。

id:中央处理器的空闲时间,以百分比表示。

如果r经常大于4,且id经常小于40,表示中央处理器的负荷很重。如果bi和bo长期不等于0,表示物理内存容量太小。

4.26 mpstat:监测CPU(包括多CPU)性能

作用:mpstat命令专门监测CPU(包括多CPU)性能。

用法:mpstat[选项]

主要选项如下。

— -P {|ALL}:表示监控哪个CPU,CPU在[0,cpu个数-1]中取值。

— internal:相邻的两次采样的间隔时间。

— count:采样的次数,count只能和delay一起使用。

应用实例如下。

# mpstat

Linux 2.6.18-164.el5xen (localhost.localdomain) 2010年03月26日

16时28分28秒 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s

16时28分28秒 all 0.11 0.02 0.16 0.35 0.00 0.03 0.03 99.31 53.81

mpstat输出说明如下。

CPU:处理器ID。

%user:用户模式(应用程序)占用CPU的百分比。

%nice:用户模式(使用nice命令改变既定优先级权限的应用程序)占用CPU的百分比。

%system:核心占用CPU的百分比。

%idle:处理器的闲置时间百分比,以上四项总和为100%。

intr/s:处理器每秒处理的中断数量。

4.27 iostat:监测I/O性能

作用:iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

用法:iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]

主要选项如下。

— -c:显示CPU的使用情况。

— -d:显示磁盘的使用情况。

— -k:表示按千字节每秒显示数据。

— -t:打印汇报的时间。

— -v:表示打印出版本信息和用法。

— -x device:指定要统计的设备名称,默认为所有的设备。

— interval:指每次统计间隔的时间,count指按照这个时间间隔统计的次数。

说明:目前Linux计算机系统的主要性能瓶颈在于I/O环节,这主要是由于I/O系统性能的提高远远低于CPU和内存性能的提高。根据摩尔定律,CPU性能和内存容量每18个月就可翻一番。但是作为外存的主要设备——硬磁盘,由于机械运动的本质特征导致性能的提高非常有限,每年约7%。这样可由摩尔定律得出,如今I/O的性能在系统整体性能中占有举足轻重的地位。目前优化磁盘性能的各种技术主要侧重于如何提高数据传输的带宽,很少有侧重于降低延迟的。

应用实例如下。

用iostat –x /dev/sda1来观看磁盘I/O的详细情况:

# iostat –x /dev/sda1

Linux 2.6.18-164.el5xen (localhost.localdomain) 2010年03月26日

avg-cpu: %user %nice %system %iowait %steal %idle

0.11 0.02 0.18 0.35 0.03 99.31

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

sda1 0.02 0.08 0.00 2014 4

详细说明:第二行是系统信息和监测时间,第三行和第四行显示CPU使用情况(具体内容和mpstat命令相同)。这里主要关注后面I/O输出的信息,如表4-1所示。

表4-1 iostat输出

标 示

说 明

Device

监测设备名称

rrqm/s

每秒需要读取需求的数量

wrqm/s

每秒需要写入需求的数量

r/s

每秒实际读取需求的数量

w/s

每秒实际写入需求的数量

rsec/s

每秒读取区段的数量

wsec/s

每秒写入区段的数量

rkB/s

每秒实际读取的大小,单位为KB

wkB/s

每秒实际写入的大小,单位为KB

avgrq-sz

需求的平均大小区段

avgqu-sz

需求的平均队列长度

await

等待I/O平均的时间(milliseconds)

svctm

I/O需求完成的平均时间

%util

被I/O需求消耗的CPU百分比

4.28 sar:系统活动情况报告

作用:sar一个开放源代码工具,它由Sebastien Godard维护。这个工具也包含于大部分Linux发行版本中,可用于当前的2.4和2.6版内核,在Red Hat Linux中是Sysstat。Sysstat 包括I/O与CPU统计资料的工具iostat、mpstat(用于多处理器性能监测)和sar。前面我们介绍了iostat、mpstat,下面重点介绍sar。

用法:sar [选项]

主要选项如下。

— -A:汇总所有的报告。

— -a:报告文件读写使用情况。

— -B:报告附加的缓存的使用情况。

— -b:报告缓存的使用情况。

— -c:报告系统调用的使用情况。

— -d:报告磁盘的使用情况。

— -g:报告串口的使用情况。

— -h:报告关于buffer使用的统计数据。

— -m:报告IPC消息队列和信号量的使用情况。

— -n:报告命名Cache的使用情况。

— -p:报告调页活动的使用情况。

— -q:报告运行队列和交换队列的平均长度。

— -R:报告进程的活动情况。

— -r:报告没有使用的内存页面和硬盘块。

— -u:报告CPU的利用率。

— -v:报告进程、I结点、文件和锁表状态。

— -w:报告系统交换活动状况。

— -y:报告TTY设备活动状况。

应用实例如下。

(1)察看内存和交换空間的使用率,使用sar -r

# sar -r

Linux 2.4.20-8 (www.cao.com) 20050503

12:00:01 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached

12:10:00 AM 240468 1048252 81.34 0 133724 485772

12:20:00 AM 240508 1048212 81.34 0 134172 485600

08:40:00 PM 934132 354588 27.51 0 26080 185364

Average: 324346 964374 74.83 0 96072 467559

kbmemfree与kbmemused字段分别显示内存的未使用与已使用空间,后面跟着的是已使用空间的百分比(%memused字段)。kbbuffers与kbcached字段分别显示缓冲区与系统全域的数据存取量,单位为KB。

(2)观察系统部件10分钟,并对数据进行排序

#sar  -o temp 60 10

说明:sar是System Activity Reporter(系统活动情况报告)的缩写。顾名思义,sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。sar是读/proc这个内存文件系统进行采样来得到数据的。sar从/var/log/sa/sadd读取记录文件的资料。/usr/lib/sa/sadc负责维护系统活动资料和建立这些记录文件。sar实际包括两个Shell程序/usr/lib/sa/sa1和/usr/lib/sa/sa2。/etc/cron.d/systat是crontab的系统文件,每10分钟执行sa1程序一次,然后将它的输出加到记录文件后面。sa1以二进制格式储存sar所读取的资料。/usr/lib/sa/sa2将每天数据写入文件/var/log/sa/sadddd表示每月的日期。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也较为复杂。

4.29 ntsysv:设置系统服务

作用:ntsysv是Red Hat公司遵循GPL规则所开发的程序,它具有交互式操作界面,可以轻易地利用方向键和空格键等,开启、关闭操作系统在每个执行等级中所要执行的系统服务。

用法:ntsysv [--back] [--level <levels>]

主要选项如下。

— --back:在交互式界面中显示上一步按钮。

— --level<levels>:在指定的执行等级中选择要打开或关闭的系统服务;等级为0~6,可一次指定多个等级,如“123”表示同时设定等级为1,2和3的服务。

levels执行的状态如下。

— 0:关机。

— 1:单人用户模式的文字界面。

— 2:多人用户的文字界面,但不具有NFS功能。

— 3:多人用户的文字界面,并且具有全部的网络功能。

— 4:某些发行版本使用此参数可进入X Window。

— 5:某些发行版本使用此参数可进入X Window。

— 6:重新启动。

应用实例如下。

(1)配置系统的各种服务运行等级

#ntsysv

如图4-6所示,可以按F1键寻求操作帮助。

clip_image013

图4-6 配置系统的各种服务运行等级

(2)配置运行级别

编辑运行级别0,1和6:

#ntsysv --levels 016

(3)在交互式界面中显示Back按钮

例如,配置系统的各种服务运行等级,并且在交互式界面中显示Back按钮,可在命令行提示符下输入:

#ntsysv –-back

如图4-7所示,原来界面中的Cancel按钮已被Back按钮取代。

clip_image015

图4-7 在交互式界面中显示Back按钮

 

 

Linux核心应用命令速查1

书名:Linux核心应用命令速查

作者:曹江华, 方建国编著

ISBN:978-7-121-11149-5

出版日期:20107

定价:59.00

开本:16

页码:528

经过十几年的发展,Linux操作系统不断完善,得到了更多的应用。现在,Linux桌面已经相对成熟,但是命令行技术仍然是Linux 的核心技术。

本书汇集了Linux命令行下核心管理命令(包括最新的虚拟化管理命令、SELinux管理命令)的功能说明、语法说明、选项介绍、典型应用实例和注意事项等,对每一个命令都做了非常详尽的介绍,并列举了大量的实例进行说明,可以使读者对Linux下的命令有快速深入的认识。全书按照Linux命令的功能进行分类,便于读者查询。阅读本书之前不需要读者掌握太多的背景知识,无论读者是UNIX用户还是Linux新手,甚至是从未接触过Linux的Windows用户,都可以轻松地理解和掌握这些内容,并可以快速了解和使用各个发行版的Linux系统。本书使用RHEL 5.5所涉及的命令,同时也适用于其他Linux发行版,是所有Linux用户必备的参考用书。

本书购买地址:  当当网     中国互动出版网

 

相关连载:

《linux核心应用命令速查》连载十四:fuser:用文件或者套接口表示进程

《linux核心应用命令速查》连载十三:renice:修改优先权等级


《linux核心应用命令速查》连载十二:top:显示进程

《linux核心应用命令速查》连载十一:pstree:显示进程状态树

《linux核心应用命令速查》连载十:ps:查看权限

《linux核心应用命令速查》连载九:crontab:设置计时器

《linux核心应用命令速查》连载八:kill:杀掉进程

《linux核心应用命令速查》连载七:bg:后台运行命令

《linux核心应用命令速查》连载六:batch:在系统负载水平允许的时候执行命令

《linux核心应用命令速查》连载五:atq:显示目前使用at命令后待执行的命令队列

《linux核心应用命令速查》连载四:at:定时运行命令

《linux核心应用命令速查》连载三:sa:报告、清理并维护进程统计文件

《linux核心应用命令速查》连载二:lastcomm:显示以前使用过的命令的信息

《linux核心命令速查》连载一:accton:打开或关闭进程统计

posted @ 2010-08-19 16:38  博文视点(北京)官方博客  阅读(278)  评论(0编辑  收藏  举报