zoukankan      html  css  js  c++  java
  • 《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:打开或关闭进程统计

  • 相关阅读:
    Basic and Digest Access Authentication 及HttpClient实现
    SQL Server2000 解析XML
    ashx+jQuery,一个轻量级的asp.net ajax解决方案
    sql 获取整时 整分秒 数据
    无法使用前导.. 在顶级目录上退出
    sql查询分析器调用自定义函数
    SqlServer 重置自动编号起始值
    asp.net不使用ViewState和服务器控件
    解决 "错误7405:异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS
    ASP.NET服务器控件几乎都有的成员
  • 原文地址:https://www.cnblogs.com/broadview/p/1803673.html
Copyright © 2011-2022 走看看