




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 Linux磁盘配额(Quota)1. Quota的使用限制使用quota时有几个基本的限制:l 仅针对整个partition:Quota在实际动作折时候,是针对【整个partition】进行限制的,例如:如果你的/dev/hda5是挂载在/home底下,那么在/home底下的所有目录都会受到限制!l 核心必须支持quota:Linux系统核心必须有支持quota这个模块才行,如果你是自行编译核心的,请特别留意你是否已经开启了quota这个模块。l Quota的记录文件:目前新版的Linux distributions如:FC4与SuSE server 9等使用的是Kernel 2.6.xx的核心版本,这个核心版本支持新的quota模块,使用的预设档案(aquota.user,aquota.group)将不同于旧版本的aquota.user,aquota.group!而由旧版本的quota可以藉由converquota这个程序来转换!l 只对一般身份使用者有效:并不是所有的账号都可以设定quota的,例如root就不能,因为整个系统所有的数据几乎都是它的。Quota对硬盘配额的限制项目:它对整个partition的限制项目主要分为底下几个部分:l Soft:这是最低限制容量的意思,使用者在宽限期间之内,它的容量可以超过soft,但必须要宽限时间之内将磁盘容量降低到soft的容量限制之下!l Hard:这是绝对不能超过的容量!soft到hard之间的容量其实就是宽限的容量啦,可以达到针对使用者的【警示】作用!l 宽限时间:当使用者使用的空间超过了soft limit,却还没有达到hard limit时,那么在这个【宽限时间】之内,就必须请使用者将使用的磁盘容量降低到soft limit之下!2. 基本的quota指令:基本上分为两种,一种是查询功能(quota,quotacheck,quotastats,warnquota,repquota),另一种则是编辑quota的内容(edquota,setquota)。1) /etc/mtab当我们使用quota的时候,系统会去搜寻:【系统上具有quota参数的分区】,因此,我们的文件系统必须要已经支持quota的旗标才行。 一般来说,我们编辑/etc/fstab后,再重新挂载filesystem的方法来让系统的filesystem支持quota的。2) quota这个指令仅是使用来显示目前某个群组或者某个使用者的quota限值。范例一:显示目前root自己的quota限制值:范例二:显示dmtsai这个使用者的磁盘配额3) quotacheck范例一:将所有的在/etc/mtab内,含有quota支持的分区进行扫描范例二:强制扫描已挂载的filesystem4) edquota范例一:设定dmtsai这个使用者的quota限制值范例二:将dmtsai的quota限制值(30MB)复制给vbird1这个使用者范例三:修订宽限时间你可以copy一个人的设定值给其它人,如同上面第二个例子,利用已经建立好的dmtsai来建立vbird1这个人的quota限额。另外,范例一当中出现的那七个字段代表的意义我们要谈一谈:l Filesystem:代表这个quota是针对哪一个partition的意思。l Blocks:这个是目前使用者dmtsai(uid 501)在/dev/hdb1这个filesystem,所耗掉的磁盘容量,也就是目前的使用掉的空间l Soft与hard:这个是目前dmtsai使用者在这个filesystem之内的quota限制值!至于soft与hard的意思就如同前一节提到的意思啦。l Inodes:是目前使用掉Inodes的状态,也是quota自己计算出来而得到的,所以不要去变更他5) quotaon范例一:启动所有的具有quota的filesystem范例二:仅启动/disk2里面的user quota设定值:6) quotaoff范例一:3. 实作quota1)准备好测试环境,建立使用者与群组;2)建立好filesystem的quota支持:建议将开启quota的磁盘启动参数,写入quota的磁盘设定才行(/etc/fstab),最好不要以根目录 / 进行quota,否则容易出问题。我的/disk2是独立分区,且它的装置名为/dev/hdb1,那我就必须要启动/disk2这个/dev/hdb1的quota档案格式。只要在/etc/fstab里增加了usrquota,grpquota就可以了(这两个项目不要写错,否则很有可能造成系统无法开机!)不过由于quota在读取的时候是读取/etc/mtab这个档案的,需要重新开机或者重新remount filesystem来驱动设定值后才能够以/etc/fstab的新数据进行改写。3)扫描磁盘的使用者使用状况,并产生重要 的aquota.group与aquota.user:使用quotacheck就可以轻易地将所需要的数据给它输出了,并且在/disk2底下会产生aquota.group与aquota.user这两个档案!4)启动quota的限额:注意:要看到上面有个turned on的出现,才是真的成功。5)编辑使用者的可使用空间:由于我们有两个使用者要设定,先来设定quser1,使用edquota就对了:因为我的/disk2里面并没有数据,所以上面的这个表格中,blocks与inodes才会都是0,如果你是使用/home来进行quota设定的,那么blocks/inodes肯定不会是0。上面特殊字体的部分就是我们的设定了,分别是45000及50000,单位是Kbytes。然后将quser1的设定直接复制给quser2吧!接下来,设定宽限时间,还是使用edquota!将时间改为1天(原本是7days),使用quota v来查询:由于使用者尚未超过45MB,所以grace(宽限时间)就不会出现了。6)编辑群组可使用的空间:7)设定开机启动quota:因为FC4与Red Hat系列的开机script(/etc/rc.d/rc.sysinit)已经将quota的侦测写入在里头,因此在预设的情况下,quota是会主动地被启动的。不过,你想要手动强制,可以使用vi去编辑/etc/rc.d/rc.local,在里面加入一行:8)利用rqpquota显示更完整的quota结果报告:范例一:查阅系统内所有的具有quota的filesystem的限值状态:范例二:仅列出user与group的quota限值:4. 不更动既有系统的quota实例如果我们要设定一个对外开启的邮件主机的时候,最好对于邮件空间有点限制比较好。由于quota只能针对整个分区进行整体的磁盘配额,所以你必须先确定/home是一个独立的分区。如果当初我们进行Linux主机安装时,忘记将/home独立成一个分区时,还有,也忘记将/var/spool/mail这个mailbox放置的目录独立出来,该怎么办呢?其实,既然quota是针对整个分区来进行限制,而我又已经将/disk2做好了quota,我只要:l 将/home这整个目录搬移到/disk2底下,l 利用 ln s /disk2/home /home 来建立连结数据;l 将/var/spool/mail整个搬移到/disk2底下;l 利用 ln s /disk2/mail /var/spool/mail来建立连结数据。二、 例行性命令的建立1. 仅进行一次的工作排程:at单一执行一次的工作排程,在Linux系统上有atd这个服务,有许多版本的我们Linux系统预设开机不启动,必须要先手动将它启用才行。方法如下:1) at的工作我们可以使用at指令来写入工作纪录文件,文件预设的放置目录在/var/spool/at底下,在写入at记录文件后,该工作便进入排程中并等待执行。此外,可以利用/etc/at.allow与/etc/at.deny这两个档案来进行at的使用限制!加上这两个档案后,at的工作情况其实是这样的:l 先寻找/etc/at.allow,在这个档案中的使用者才能使用at,没有在这个档案中的使用者不能使用at(即使没有写在at.deny当中);l 如果没有/etc/at.allow就寻找/etc/at.deny这个档案,若写在这个at.deny的使用者则不能使用at;l 如果两个档案都不存在,那么只有root可以使用at这个指令。其实只要有at.deny这个档案存在就好了,FC4预设也只有/etc/at.deny存在,而且该档案内并未有任何账号数据!2) 开始使用at:范例一:再过五分钟,将/root/.bashrc寄给dmtsai这个使用者范例二:由于机房 预计于2005/09/16停电,我想要2005/09/15 23:00关机事实上,当我们使用at时,它会给使用者一个bash shell让使用者下达工作指令,建议你最好使用绝对路径来下达你的指令。你还可以使用at m这个参数来强制at传送一个执行完毕的email讯息给你自己哦。由于at工作排程的使用,系统会将该项at工作独立出你的bash环境中,直接交给系统的atd程序来接管,因此,当你下达了at的工作之后,就可以离线了,剩下的工作就完全交给Linux管理即可。万一我下达了at之后,才发现指令输入错误,这时可以利用atq与atrm将它移除。2. 循环执行的例行性命令循环执行的例行性命令则是由cron(crond)这个系统服务来控制的,且这个系统服务是预设启动的。Linux也提供使用者控制例行性命令的指令(crontab)。1) 使用者的设定:crontab为了安全性,同样可以限制使用crontab有使用者账号,使用的限制数据有:l /etc/cron.allow:在这个档案中的使用者才能使用crontab,没有在这个档案中的使用者不能使用;l /etc/cron.deny:将不可以使用crontab的账号写入其中,若未记录到这个档案当中的使用者,就可以使用crontab。同样的,以优先级来说/etc/cron.allow比/etc/cron.deny要优先,而这两个档案只选择一个来限制即可。一般,系统预设是保留/etc/cron.deny的。 当使用者使用crontab指令来建立工作排程之后,该项工作就会被记录到/var/spool/cron中,而且是以账号来作为判别的。如果你的Linux不知道是否有被植入木马时,也可以搜寻一下/var/spool/cron这个登录档。范例一:用dmtsai在每天的12:00发信给自己每项工作的格式都是【五个时间参数 实际动作指令】,那五个时间参数代表为:还有一些辅助的字符,大概有这些:查询使用者目前的crontab内容,可以这样来看看:2) 系统的设定:/etc/crontab这个crontab e 是针对使用者的cron来设计的,如果是【系统的例行性任务】时,只要编辑/etc/crontab这个档案就可以了。crontab e这个crontab其实是/usr/bin/crontab这个执行档,但是/etc/crontab是一个【纯文字文件】哦!基本上,cron服务的最低侦测限制是【分钟】,所以【cron会每分钟去读取一次/etc/crontab与/var/spool/cron里面的数据内容】,只要你编辑完/etc/crontab档案,那么cron的设定就自动的会来执行了。我们来看一下/etc/crontab的内容吧:这个档案与将刚刚我们下达crontab e的内容几乎完全一样,只是有几个地方不太相同:l MAILTO=root;这是说,当/etc/crontab这个档案中的例行性命令发生错误时,或者是执行结果有STDOUT/STDERR时,会将错误信息或者是屏幕显示的信息发送给root,不过,由于root并无法在客户端中以POP3之类的软件收信,因此,通常都将这个e-mail改成自己的账号,好让我随时了解系统的状况!l PATH=.:还记得我们在BASH Shell当中提到的执行文件路径吧,这里就是输入执行文件的搜寻路径,使用预设的路径设定就已经足够了。l 01 * * * * root run-parts /etc/cron.hourly:在批注符号【#run-parts】这一行以后的命令,可以发现,五个数字后面接的是root,这个字段的root代表的是执行的使用者身份为root,而run-parts代表后面接的/etc/cron.hourly是一个目录内(/etc/cron.hourly)的所有可执行档。因此,你可以将每天需要执行的命令直接写到/etc/cron.daily/即可,还不需要使用到crontab e 呢基本上,/etc/crontab里面支持两种下达指令的方式,一种是直接下达指令,另一种则是以目录来规划。假设现在要作一个目录,让系统每2分钟去执行这个目录下的所有可以执行的档案,你可以写如下的一千在/etc/crontab中:*/2 * * * * root run-parts /etc/cron.man当然,/etc/cron.man这个目录是需要存在的!而如果执行的是一个程序而已,例如在侦测网络流量时,希望每五分钟侦测分析一次,可以这样写:*/5 * * * * root /bin/mrtg /etc/mrtg/mrtg.cfg3. 一些使用特点:举例,如果有四个工作都是五分钟进行一次,是否这四个动作全部都在同一个时间点进行?如果同时进行,该四个动作又很耗系统资源,此时好好的分配一些执行时间就可以了。1) 资源分配不均的问题:如果每个流程都在同一个时间启动的话,那么在某个时段,系统会变得相当的繁忙,我可以这样进行分别设定:2) 取消不要的输出项目:当有执行成果或者是执行的项目中有输出的数据时,该数据将会mail给MAILTO设定的账号,而当有一个排程一直出错,我们可以直接以【命令重导向】将输出的结果输出到/dev/null这个垃圾桶中就好了。3) 安全的检验:很多时候被植入木马都是以例行命令的方式植入的,所以可检查/var/log/cron的内容来视察是否有【非你设定的cron被执行了?】。三、 程序与资源管理 1. 程序与执行文件(process&program)产生一个Process ID(PID)就是执行一个程序或指令就可以触发一个事件而取得一个PID了,系统仅认识binary file,当我们要让系统工作的时候,当然就是需要启动一个binary file,那个binary file就是程序!每个程序都有三组人马的权限,每组人马都具r/w/x的权限,不同使用者执行这个程序时,系统给予的权限也都不相同。我们要操作系统时,通常是利用联机程序或直接在主机前面登入,然取得shell。同时间的每个人登入都是执行/bin/bash,不过每个人取得的权限就是不同。我们可以这样看:当我们登入并执行bash时,系统已经给我们一个PID了,这个PID就是依据登入者的UID/GID(/etc/passwd)来的,以上图说明,/bin/bash是一个程序,当dmtsai登入后,他取得一个PID号码为2234的程序,这个程序的User/Group都是dmtsai,而当这个程序进行其它作业时,由这个程序衍生出来的其它程序在一般状态下,也会没用这个程序的相关权限的!1) 子程序与父程序:当登入系统后,会取得一个bash的shell,然后用这个bash提供的接口去执行另一个指令,如/usr/bin/passwd或者touch等等,那些另外执行的指令也会被触发成为PID,就是子程序了。而在我们的bash环境下,就称为【父程序】了。子程序与父程序关系的最大复杂点在于程序相互之间的呼叫,以及两者权限的相关性。2) 系统或网络服务:常驻在内存的程序之前学到的一些简单指令,如ls、touch、rm/mkdir/cp/mv等指令,在执行完就结束了,也就是说,该项指令被触发后所产生的PID很快就会被终止。那有没有一起在执行的程序呢,当然有。我们知道系统每 分钟都会去扫描/etc/crontab以及相关的设定档,来进行工作排程。而负责工作排程的程序是crond,这一启动在背景中的程序一直不断动作,就是【常驻在内存当中的程序】。这些常驻内存中的程序很多,大致分成系统本身所需要的服务以及一些负责网络联机的服务,如Apache,named,postfix,vsftpd等等,这些程序被执行后,它会启动一个可以负责网络监听的端口(port),以提供外部客户端(client)的联机要求。2. Linux的多人多任务环境在Linux底下执行一个指令时,系统会给予这一动作一个IP(PID),而根据指令的使用者与相关的指令功能,给予这个PID一组权限,该指令可以进行的行为则与这个PID的权限有关。1) 多人环境:在Linux上允许不同人使用,且每个人都有其特殊的权限,只有root具有至高无上的权力。而每个人进入Linux的环境设定都可以随着每个人的喜好来设定。每个人登入后取得的shell的PID是不同的。2) 多任务行为:在某些其它操作系统中,可能会遇到这种情况:【这个档案正在使用中,你无法开启这个档案】,得将正在执行中的程序关掉后才能开这个中间暂存档。而在Linux可,你可以同时在不同的画面,同时由不同的人使用【同一档案】,不论是开启或者修改,只要有权限就可以使用该档案。3) 多重登入环境的七个基本终端窗口:在Linux中,预设提供了六个文字界面登入窗口,以及一个图形界面,你可以使用【Alt】+【F1】【F7】来切换不同的终端机界面,且每个终端机界面的登入者还可以不同人。这个东西很有用,尤其是在某个程序死掉的时候!4) 特殊的程序管理行为Linux几乎可以说绝对不会当机,因为它可在任何时候,将某个被困住的程序杀掉,然后在重新执行该程序而不用重新开机。例如,在Linux下以文字界面登入,在屏幕当中显示错误信息后就挂了,这时可以按【Alt】+【F1】【F7】来切换到其它的终端机界面,然后以ps aux找出刚刚的错误程序,然后给它kill一下,回到刚刚的终端机界面,又回复正常了。5) Bash环境下的工作管理在单一的bash接口 下,我们还可以同时进行多个工作,举例:在这一串指令中,重点在那个&的功能,它表示将file1这个档案复制为file2,且放置于背景中执行,就是说执行这一个命令后,在这一个终端接口仍然可以做其它的工作!而这一指令(cp file1 file2)执行完之后,系统将会在你的终端接口显示完成的信息。6) 多人多任务的系统资源分配问题考虑多人多任务确实有很多好处,但也有管理上的困扰,当使用者达到一定的人数后,通常你的机器便需要升级了,因为CPU的运算与RAM的大小可能就会不够使用。3. 工作管理(job control)这个工作管理是用在bash环境下的,也就是说:【当我们登入系统取得bash shell之后,在单一终端机接口下同时进行多个工作的行为管理】。举例,当登入bash后,想一边复制档案、一边搜寻资料、一边编译,还可以一边进行vi程序。在上面的说明中,了解到【进行工作管理的行为中,每个工作都是目前bash的子程序,亦即彼此之间是有相关性的】。我们无法以job control的方式由tty1的环境去管理tty2的bash。1) 直接将指令丢到背景中【执行】的&:在一个bash的环境下,你可以控制的这个工作称为【前景】的工作(foreground);在内存内可以自行动作的工作,你无法直接控制它,除非以bg/fg等指令将该工作呼出来,我们称之为【背景】。我们可以利用【&】将工作丢到背景中。例如将/etc/整个备份成为/tmp/etc.tar.gz时,又不想等待,可以这么做:此时bash会给予这个指令一个【工作号码(job number)】,就是那个【1】啦,至于后面那个24874则是该指令所触发的【PID】了。如果你输入几个指令后,突然出现这个数据:就代表【1】这个工作已经完成(Done),该工作的指令则是接在后面的那一串指令列。此外,将工作丢到背景中要特别注意资料的流向。举例,如果我将刚刚那个指令改成:上面的指令执行后,在背景中的执行的指令,如果有stdout及stderr时,它的数据依旧是输出到屏幕上面的,所以我们会无法看到提示字符,当然也就无法完好 的掌握前景工作。最佳的状况是利用数据流重导向,将输出数据传送至某个档案中。2) 将【目前】的工作丢到背景中【暂停】:【ctrl】-z某个情况:如果正在使用vi,却发现有个档案不知道放在哪里,需要到bash环境下去搜寻,此时不需要结束vi,只要暂时将vi给它丢到背景中等待即可。在vi的一般模式下,按下【ctrl】及z这两个按键,屏幕上会出现【1】,表示这是第一个工作,而那个+代表目前背景下预设被取用的那个工作(与fg这个指令有关)。而那个Stopped则代表目前这个工作的状态。3) 观察目前的背景工作状态:jobs范例一:观察目前的bash当中,所有的工作,与对应的PID仔细看那个+ -号,那个+号代表预设的取用工作,目前我有两个工作在背景当中,两个工作都是暂停的,而如果我仅输入fg时,那个【1】会被拿到前景当中来处理。4) 将背景工作拿到前景来处理:fg想要将上头范例当中的工作拿来处理时:范例一:先以jobs观察工作,再将工作取出:5) 让工作在背景下进行:bg如果让一个工作在背景下运行,可以这样:范例一:执行find / -perm +7000后,立刻丢到背景去暂停!范例二:让该工作在背景下进行,并且观察它!上面那个状态列,经由Stopping变成了Running,指令列最后方多了一个&的符号,代表该工作被启动在背景当中了。6) 管理背景当中的工作:kill如果要将背景工作直接移除或者是将该工作重新启动,就得需要给予该工作一个讯号(signal),此kill指令就派上用场了。范例一:找出目前的bash环境下的背景工作,并将该工作删除。范例二:找出目前的bash环境下的背景工作,并将该工作终止掉。特别留意,-9这个signal通常是用在【强制删除一个不正常的工作】时所使用的,-15则是以正常步骤结束一项工作(15也是默认值),两者之间并不相同。举上面例子,用vi的时候,会产生一个.filename.swp的档案,当使用-15这个signal时,vi会尝试以正常的步骤结束该工作,.filename.swp也会主动的被移除,但使用-9时,由于该vi工作会被强制移除掉,因此.filename.swp就会继续存在档案系统中。4. 程序的观察1) ps(静态查看)范例一:将目前属于你自己这次登入的PID与相关信息列出来范例二:列出目前所有的正在内存当中的程序:范例三:以范例一的显示内容,显示出所有的程序:范例四:列出类似程序树的程序显示:范例五:找出与cron与syslog这两个服务相关的PID号码因为支持的类型太多,所以ps aux与ps aux显示的结果【可能】是不一样的,那个-u后面接的是【有效的使用者ID】,所以,-ux可能是【有一个user名称为x】。至于有效的使用者ID,还记得我们提过的SUID吧,当以dmtsai去执行/usr/bin/passwd取得的那个process竟然是root的权限,此时实际的使用者是dmtsai,但有效的使用者是root。一般建议直接使用 【ps aux】这个指令参数即可,在范例二的各个显示项目代表的意义为:l USER:该process属于哪个使用者账号的l PID:该process的号码。l %CPU:该process使用掉的CPU资源百分比l %MEN:该process所占用的物理内存百分比l VSZ:该process占用的固定的内存量使用掉的虚拟内存量(Kbytes)l RSS:该process占用的固定的内存量(Kbytes)l TTY:该process是在哪个终端机上动作,若与终端机无关,则显示?,另外tty1-tty6是本机上面的登入者程序,若为pts/0等等的,则表示为由网络连接进主机的程序。l STAT:该程序目前的状态,主要的状态有: R:该程序目前正在动作,或者是可被动作; S:该程序目前正在睡眠中,但可被某些讯号(signal)唤醒 T:该程序目前正在侦测或者是停止了 Z:该程序已经终止,但是其父程序却无法正常地终止它,造成zombie(僵尸)程序的状态。l START:该process被触发启动的时间l TIME:该process实际使用CPU运作的时间l COMMAND:该process的实际指令为何我们取这一行来做个简单的说明:该程序属于root所有,他的PID号码是5881,该程序对于CPU的使用率很低,占用物理内存约0.3%,程序使用掉的虚拟内存量为5212K,物理内存为1204K,该程序属于pts/0这个终端机,目前状态是sleep,由今天10:22开始动作,仅耗去CPU运作时间的0:00分钟,程序的执行就是su这个指令。除此之外,我们要知道僵尸程序的成因是因为该程序应该已经执行完毕,或者因故应该要终止了,但是该程序的父程序却无法完整地将该程序结束掉,而造成那个程序一直存在内存当中.如果你发现某个程序的CMD后面还接上时,就代表该程序是僵尸程序。如果发现系统中很多僵尸程序时,要找出该程序的父程序,然后做好追踪,好好进行主机的环境最佳化。不要只是直接将它kill掉而已。2) top(动态监测)范例一:每两秒更新一次top,观察整体信息;范例二:将top的信息进行2次,然后将结果输出到/tmp/top.txt范例三:假设10604是一个已经存在的PID,仅观察该程序?范例四:承上题,上面的NI值是0,想要改成10的话?这个top程序可以持续地监测整个系统的程序工作状态。在预设情况下,每次更新程序资源的时间为5秒,不过,可以使用-d来修改。Top主要分为两个画面,上面的画面为整个系统的资源使用状态,基本上总共有六行,显示的内容依序为:l 第一行:显示系统已启动的时间、目前上线人数、系统整体的负载。三个数据分别代表1,5,10分钟的平均负载。一般,这个负载值应该不太可能超过1都对,除非你的系统很忙碌。l 第二行:显示的是目前的观察程序数量,比较需要注意的是最后的zombie那个数值,如果不是0,好好看看到底是哪个process变成僵尸了。l 第三行:显示的是CPU的整体负载,每个项目可使用?查阅,需要观察的是id(idle)的数值,一般来说 ,它应该要接近100%才好,表示系统很少资源被使用!l 第四行与第五行:表示目前的物理内存与虚拟存(Mem/Swap)的使用情况。l 第六行:这个是当在top程序当中输入指令是,显示状态的地方。至于top底下的画面,则是每个process使用的资源情况。比较需要注意的是: PID:每个process的ID USER:该process所属的使用者 PR:Priority的简写,程序的优先执行顺序,越小越早被执行; NI:Nice的简写,程序的优先执行顺序,越小越早被执行; %CPU:CPU的使用率 %MEM:内存的使用率 TIME+:CPU使用时间的累加pstree范例一:列出目前系统上所有的程序树的相关性范例二:承上题,同时透出PID与users5. Kill 程序的删除常见的工作可以使用kill l 来查询,而主要的讯号代号与名称对应及内容是:而kill可以帮我们将这个signal传送给某个工作(%jobnumber)或者是某个PID(直接输入数字),也就是说,kill后面直接加数字与加上%的情况是不同!由于kill后面必须加上PID(或者是job number),所以,通常kill都会配合ps,pstree等指令,因此很麻烦。用killall可以直接将syslog这个程序给予一个SIGHUP的讯号:范例一:给予syslogd这个指令启动的PID一个SIGHUP的讯号范例二:强制终止所有以httpd启动的程序总之,要删除某个程序,可以使用PID或是启动该程序的指令名称,而要删除某个服务,最简单的方法就是利用killall,因为它可以将系统中所有以某个指令名称启动的程序全部删除。6. 系统资源的观察除了可以使用top观察系统的资源,还可以用其它的工具查阅。1) free(内存使用状况)范例一:显示目前系统的内存容量上面的信息中,Mem那一行显示的是物理内存的量,Swap则是虚拟内存的量。Total是总量,used是已被使用的量,free 则是剩余可用的量。后面的shared/buffers/cached则是已被使用的量当中,用来作为缓冲及快取的量。一般来说,swap最好不要被使用超过20%以上,因为swap的效能跟物理内存差很多,而系统会使用到swap,绝对是因为物理内存不足了才会这样做的。2) uname (系统信息)范例一:输出系统的基本信息3) uptime(系统开机时间)这个指令可以显示出目前系统已经开机多久的时间,以及1,5,15分钟的平均负载。它可以显示出top画面的最上面一行。4) netstat它常被用在网络的监控方面,不过,在程序管理方面也是需要了解的。基本上,netstat的输出分为两大部分,上面是网络接口相关的联机,下方则是与unix程序相关的项目。范例一:列出目前系统已经建立的网络联机与unix socket状态范例二:找出目前系统上已在监听的网络联机及其PID范例三:将上述的本地端:21那个网络服务关闭5) dmesg(开机时的信息)在开机的时候会有很多的信息出现,如CPU的形式、硬盘、光盘型号等等,这些信息的产生与核心(kernel)在进行硬件的测试与驱动,但它们都是一闪而过了。我们可以用dmesg来观看这些信息。范例一:输出所有的核心开机时的信息范例二:搜寻开机的时候,硬盘的相关信息6) sar(主机资源状态)这个sar不是系统预设的安装套件,不过,如果你选择全部安装,就可以玩这个sar了。它可主动侦测主机的资源状态,然后绘制成为图表。范例一:统计目前主机CPU状态,每秒一次,共计三次范例二:统计目前主机内存的使用情况7. 关于程序的执行顺序Linux系统中,每个process都会拥有一个所谓的【优先执行充(priority)】的属性,利用该属性来让CPU判断那个工作是比较重要的,然后在一群工作当中优先被执行,也让系统资源可以分配的更恰当。也可使用ps观察优先执行序。其中,那个PRI就是Priority的简写,而NI就是nice的简写,这二个东西凑在一起才产生目前的PRI值。PRI值越小,代表该程序可以具有【越早被优先执行】的意思,只是PRI值是由系统动态产生的。PRI(new)=PRI(old)+nice如果原本的PRI是50,并不是我们给予一个nice=5,就会让PRI变成55,因为PRI是系统【动态】决定的,虽然nice值是可以影响PRI,但最终的PRI仍是要经过系统分析后才会决定的。一般使用者的nice为019,root可用nice值为 - 2019,一般使用者仅可将nice值越调越高,且仅能调整属于自己的程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心理疏导与情绪管理策略计划
- 建立科学的选拔机制计划
- 2024年马鞍山市人民医院制招聘笔试真题
- 财务利润模式计划
- 前台工作中的领导力发展计划
- 积木与搭建游戏教育方案计划
- 2024年扶余市事业单位招聘工作人员笔试真题
- 2024年毕节市广播电视台招聘笔试真题
- 2025年函数题软件设计师试题及答案
- 法学概论应试准备试题及答案
- 2024年航空航天知识竞赛考试题库及答案
- 铜冶炼过程清洁生产-洞察分析
- 《电力系统仿真概述》课件
- 煤矿排矸场、矸石山生态环境治理工程施工组织设计
- 2023年智慧树知到《大学生安全文化》答案全
- 个性化旅游定制服务设计与运营策略制定
- 《CMOS反相器的设计》课件
- 《中学生入学协议书》
- 头晕课件完整版本
- 中华人民共和国学前教育法
- 2024年5月26日河南省事业单位联考《职业能力测试》试题
评论
0/150
提交评论