Linux操作系统项目化教程基于RHEL 8.2-CentOS 8.2-电子课件 任务6-v1_第1页
Linux操作系统项目化教程基于RHEL 8.2-CentOS 8.2-电子课件 任务6-v1_第2页
Linux操作系统项目化教程基于RHEL 8.2-CentOS 8.2-电子课件 任务6-v1_第3页
Linux操作系统项目化教程基于RHEL 8.2-CentOS 8.2-电子课件 任务6-v1_第4页
Linux操作系统项目化教程基于RHEL 8.2-CentOS 8.2-电子课件 任务6-v1_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6任务六

更上一层楼

--服务器运行监控6.1任务导入任务概述、任务分析、任务目标6.3任务实施项目实施步骤1、项目实施步骤26.2任务知识准备知识点1、知识点26.4任务思考双创体现任务六每天收获小进步--创建用户环境6.5任务拓展知识技术拓展1、技术拓展26.6任务小结本任务小结6.1任务导入

6.1.1任务概述

Linux服务器运行状态需要进行定期或遇到故障时需要进行监控,找出问题所在,以便进行解决。需要掌握常用的监控命令,并进行运用和观察、分析。6.1.2任务分析根据任务概述,我们需要考虑:1、Linux服务器运行状态主要包括哪些方面?2、如何使用命令查询服务器运行?3、如何设置命令参数?4、如何分析运行结果?5、如何管理运行的进程?6.1.3任务目标根据任务分析,我们需要掌握如下知识、技能、思政、双创、课证目标。(1)了解用户和组群配置文件。(知识)(2)熟练掌握Linux下用户的创建与管理的方法。(技能)(3)熟练掌握Linux下组群的创建与管理的方法。(技能)(4)熟悉用户账户管理器的使用方法。(技能)(5)系统管理员要求具备对用户信息严格管理的职业素养(思政)(6)根据乐购网站Mysql数据库服务器所需的用户环境设计其他服务器所需用户环境(双创)(7)拓展1+X云计算运维与开发考证及红帽RHCSA认证知识技能(课证)6.2任务知识准备6.2.1任务1:了解服务器的运行状态Linux操作系统中常需运行多任务多进程。为了解Linux运行情况,需要查看和监控各进程及软硬件运行状态。要保证Linux服务器系统的高可用性,需实时了解服务器的硬件、操作系统、应用服务等的运行状况。在Linux系统环境的使用与开发过程中,我们常需评估系统性能,尤其在性能测试过程中,我们需要通过系统资源的监控,从而分析定位系统的性能瓶颈。可从以下维度来评估系统的性能好坏:CPU利用率及负载、内存利用率、磁盘I/O利用率、网络利用率等。Linux监控的对象包括:硬件监控、操作系统监控。硬件监控:(1)服务器:如电源,风扇,磁盘,CPU等,可以使用IPMI监控,在Linux下安装IPMITOOL。不同的服务器厂商都在服务器上配有远程控制卡BMC:如DELL(iDRAC),IBM(IMM),HP(ILO)。Linux下需安装:#yuminstall-yOpenIPMIipmitool这2个工具可以监控。(2)网络设备:交换机,防火墙,路由器等,使用SNMP进行监控。在被监控的设备上开启SNMP代理,可以通过工具进行获取数据,如ZABBIX。操作系统监控:安装sysstat工具,包括iostat、vmstat、sar、mpstat、nfsiostat、pidstat(安装方法:yuminstall-ysysstat

#rpm-qlsysstat)。可监控CPU(CPU调度上下文切换,运行队列负载,CPU使用率);确定服务类型:IO密集型(如:数据库),CPU密集型(如:WEB)。

命令功能应用用法举例ps最基本同时也是非常强大的进程查看命令psauxtop实时排序显示系统中各个进程的资源占用状况topvmstat对系统的整体情况进行统计,包括内核进程、虚拟内存、磁盘、陷阱和CPU活动的统计信息vmstat2100free查看内存使用情况,包括物理内存和虚拟内存free-h或free-mnetstat检验本机各端口的网络连接情况,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据netstat-admesg主要用来显示内核信息。使用dmesg可以有效诊断机器硬件故障或者添加硬件出现的问题。dmesgtcpdump用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包tcpdump-ieth0-c3uptime用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况uptimeiostatiostat主要用于监控系统设备的IO负载情况iostat-d36.2.2任务2:系统进程管理和性能监控进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,它是进行系统资源分配、调度的一个独立单位。进程运行时有5大特征:动态性、并发性、异步性、独立性、结构性。每个进程都有其相对应的数据结构及独立表项。系统进程管理和性能监控主要命令有:ps、kill、vmstat、top。要查看系统中执行的进程,常用ps(processstatus)命令。要删除某些进程时,除了使用top命令的K键功能外,最简单的方法是在文本模式下执行kill命令将进程删除,通常它可以搭配ps命令使用。vmstat用来查看系统和磁盘状态,适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris)。top:命令自动排序进程,按照占用系统资源的多少排序,包括内存,交换分区,和CPU的使用率等。如果想终止top命令按Q键。1.psLinux中的ps命令是ProcessStatus的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。语法:[root@localhost~]#ps--helpUsage:ps[options]Formoredetailsseeps(1).命令参数:a显示所有进程-a显示同一终端下的所有程序-A显示所有进程c显示进程的真实名称-N反向选择-e等于“-A”e显示环境变量f显示程序间的关系-H显示树状结构r显示当前终端的进程T显示当前终端的所有程序u指定用户的所有进程-au显示较详细的资讯-aux显示所有包含其他使用者的行程-C<命令>列出指定命令的状况--lines<行数>每页显示的行数--width<字符数>每页显示的字符数--help显示帮助信息--version显示版本显示可用图形方式查看进程状态,也可用ps命令灵活地查询进程状态。【例1】以图形方式查看查看进程[root@localhost~]#gnome-system-monitor【例2】ps常用命令格式[root@localhostsystem]#psaux输出:USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot10.00.32561967176?Ss8月180:08/usr/lib/sysroot20.00.000?S8月180:00[kthreadd]root30.00.000?I<8月180:00[rcu_gp]root40.00.000?I<8月180:00[rcu_par_gp]root60.00.000?I<8月180:00[kworker/0:0root80.00.000?I<8月180:00[mm_percpu_wroot90.00.000?S8月180:02[ksoftirqd/0root100.00.000?R8月180:03[rcu_sched]root110.00.000?S8月180:00[migration/0root120.00.000?S8月180:00[watchdog/0]root130.00.000?S8月180:00[cpuhp/0]root150.00.000?S8月180:00[kdevtmpfs]root160.00.000?I<8月180:00[netns]root170.00.000?S8月180:00[kauditd]root180.00.000?S8月180:00[khungtaskd]root190.00.000?S8月180:00[oom_reaper]root200.00.000?I<8月180:00[writeback]root210.00.000?S8月180:02[kcompactd0]root220.00.000?SN8月180:00[ksmd]root230.00.000?SN8月180:01[khugepaged]root240.00.000?I<8月180:00[crypto]root250.00.000?I<8月180:00[kintegrityd进程信息各列说明:USER进程所属用户PID进程ID%CPU进程占用CPU百分比%MEM进程占用内存百分比VSZ虚拟内存占用大小单位:kb(killobytes)RSS实际内存占用大小单位:kb(killobytes)TTY终端类型STAT进程状态START进程启动时刻TIME进程运行时长COMMAND启动进程的命令其中STAT状态位常见的状态字符有D

//无法中断的休眠状态(通常IO的进程);

R

//正在运行可中在队列中可过行的;

S

//处于休眠状态;

T

//停止或被追踪;

W

//进入内存交换(从内核2.6开始无效);

X

//死掉的进程(基本很少见);

Z

//僵尸进程;

<

//优先级高的进程

N

//优先级较低的进程

L

//有些页被锁进内存;

s

//进程的领导者(在它之下有子进程);

l

//多线程,克隆线程(使用CLONE_THREAD,类似NPTLpthreads);

+

//位于后台的进程组;显示所有进程信息,连同命令行:命令:[root@localhost~]#ps-ef输出:UIDPIDPPIDCSTIMETTYTIMECMDroot1008月18?00:00:08/usr/lib/systemd/systemd--sroot2008月18?00:00:00[kthreadd]root3208月18?00:00:00[rcu_gp]root4208月18?00:00:00[rcu_par_gp]root6208月18?00:00:00[kworker/0:0H-kblockd]root8208月18?00:00:00[mm_percpu_wq]root9208月18?00:00:02[ksoftirqd/0]root10208月18?00:00:03[rcu_sched]root11208月18?00:00:00[migration/0]root12208月18?00:00:00[watchdog/0]root13208月18?00:00:00[cpuhp/0]root15208月18?00:00:00[kdevtmpfs]root16208月18?00:00:00[netns]root17208月18?00:00:00[kauditd]root18208月18?00:00:00[khungtaskd]root19208月18?00:00:00[oom_reaper]root20208月18?00:00:00[writeback]root21208月18?00:00:02[kcompactd0]root22208月18?00:00:00[ksmd]root23208月18?00:00:01[khugepaged]root24208月18?00:00:00[crypto]root25208月18?00:00:00[kintegrityd]root26208月18?00:00:00[kblockd]root27208月18?00:00:00[tpm_dev_wq]root28208月18?00:00:00[md]root29208月18?00:00:00[edac-poller]【例3】ps

与grep

常用组合用法,查找特定进程命令:[root@localhost~]#ps-ef|grepbashroot1062108月18?00:00:00/bin/bash/usr/sbin/ksmtunedroot2156121556006:36pts/000:00:00bashroot2926821561013:29pts/000:00:00grep--color=autobash【例4】将目前用户本次登录的PID与相关信息列示出来命令:[root@localhost~]#ps-l输出:FSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD4S021561215560800-7011-pts/000:00:00bash0R029301215610800-11409-pts/000:00:00ps说明:各相关信息的意义:F

代表这个进程的旗标

(flag),

4

代表使用者为

super

userS

代表这个进程的状态

(STAT),关于各

STAT

的意义将在内文介绍UID

进程的用户IDPID

进程ID

PPID父进程IDC

CPU使用的资源百分比PRI

进程优先级NI

进程优先级的调整ADDR

进程在内存的地址,一般显示"-"SZ

使用内存的大小WCHAN

目前这个程序是否正在运作当中,若为-表示正在运作TTY

登入者的终端机位置TIME

使用CPU时间。CMD

启动进程的命令2.KillLinuxkill命令用于删除执行中的程序或进程。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看。通过带help参数,查看使用语法如下:[root@localhost~]#kill--helpkill:kill[-s信号声明|-n信号编号|-信号声明]进程号|任务声明...或kill-l[信号声明]Sendasignaltoajob.

SendtheprocessesidentifiedbyPIDorJOBSPECthesignalnamedbySIGSPECorSIGNUM.IfneitherSIGSPECnorSIGNUMispresent,thenSIGTERMisassumed.Options:-ssig SIGisasignalname-nsig SIGisasignalnumber-l listthesignalnames;ifargumentsfollow`-l'theyare assumedtobesignalnumbersforwhichnamesshouldbelisted-L synonymfor-l

Killisashellbuiltinfortworeasons:itallowsjobIDstobeusedinsteadofprocessIDs,andallowsprocessestobekilledifthelimitonprocessesthatyoucancreateisreached.

ExitStatus:Returnssuccessunlessaninvalidoptionisgivenoranerroroccurs.参数说明:-l<信息编号>若不加<信息编号>选项,则-l参数会列出全部的信息名称。-s<信息名称或编号>指定要送出的信息。[程序][程序]可以是程序的PID或是PGID,也可以是工作编号。使用kill-l命令列出所有可用信号。最常用的信号是:1(HUP):重新加载进程。9(KILL):杀死一个进程。15(TERM):正常停止一个进程。kill-9xxx强制杀死PID为XXX的进程。有十几种控制进程的方法,下面是一些常用的方法:kill-STOP[pid]发送SIGSTOP(17,19,23)停止一个进程,而并不消灭这个进程。kill-CONT[pid]发送SIGCONT(19,18,25)重新开始一个停止的进程。kill-KILL[pid]发送SIGKILL(9)强迫进程立即停止,并且不实施清理操作。kill-9-1终止你拥有的全部进程。SIGKILL和SIGSTOP信号不能被捕捉、封锁或者忽略,但是,其它的信号可以。实例:[root@localhost~]#kill215613.vmstat对系统的整体情况进行统计,包括内核进程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。通过带help参数,查看vmstat使用语法:[root@localhost~]#vmstat--helpUsage:vmstat[options][delay[count]]Options:-a,--activeactive/inactivememory-f,--forksnumberofforkssinceboot-m,--slabsslabinfo-n,--one-headerdonotredisplayheader-s,--statseventcounterstatistics-d,--diskdiskstatistics-D,--disk-sumsummarizediskstatistics-p,--partition<dev>partitionspecificstatistics-S,--unit<char>definedisplayunit-w,--widewideoutput-t,--timestampshowtimestamp-h,--helpdisplaythishelpandexit-V,--versionoutputversioninformationandexitFormoredetailsseevmstat(8).【例1】基本用法示例每X秒执行vmstat,共执行N次下面命令将会每2秒中执行一次vmstat,执行6次后自动停止执行。[root@localhost~]#vmstat26procsmemoryswap--io-system--cpurbswpdfreebuffcachesisobiboincsussyidwast20154112736282425931224930070982151297100015411273568242593120000892161199000015411273568242593120000397680139600001541127356824259312000051494813960000154112733882425931200003496791495000015411273208242593400000437800349400说明:各列信息说明r:当前运行队列中线程的数目,代表线程处于可运行状态,但CPU还未能执行.,这个值可以作为判断CPU是否繁忙的一个指标;当这个值超过了CPU数目,就会出现CPU瓶颈了;这个我们可以结合top命令的负载值同步评估系统性能;b:等待IO的进程数量;如果该值一直都很大,说明IO比较繁忙,处理较慢;memory(内存)swpd:虚拟内存已使用的大小;如果swpd的值不为0,但是si,so的值长期为0,这种情况不会影响系统性能;free:空闲的物理内存的大小;buff:用作缓冲的内存大小;cache:用作缓存的内存大小;如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IObi会非常小;swap(交换空间,单位:KB);内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有时我们看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的;si:每秒从交换区写到内存的大小;so:每秒写入交换区的内存大小;io(单位:块/秒)bi:每秒读取的块数;bo:每秒写入的块数;随机磁盘读写的时候,这2个值越大,能看到CPU在IO等待的值也会越大;system(系统);这2个值越大,会看到由内核消耗的CPU时间会越大;in:每秒中断数,包括时钟中断;cs:每秒上下文切换数;cpu(以百分比表示)us:用户进程执行时间(usertime);sy:系统进程执行时间(systemtime);id:空闲时间(包括IO等待时间);wa:等待IO时间;wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈【例2】统计各种计数器vmstat命令的-s参数,将输出各种事件计数器和内存的统计信息。[root@localhost~]#vmstat-s1843832Ktotalmemory1511116Kusedmemory497892Kactivememory501156Kinactivememory72140Kfreememory24Kbuffermemory260552Kswapcache2097148Ktotalswap154112Kusedswap1943036Kfreeswap3102non-niceusercputicks108niceusercputicks3908systemcputicks324304idlecputicks3020IO-waitcputicks1019IRQcputicks329softirqcputicks0stolencputicks975040pagespagedin226413pagespagedout1301pagesswappedin40098pagesswappedout337623interrupts739459CPUcontextswitches1629442374boottime3580forks4.iostat命令iostat命令用于统计并输出特定设备或分区的IO信息。【例1】iostat的-d参数将会输出所有磁盘的统计信息。[root@localhost~]#iostat-d33DevicetpskB_read/skB_wrtn/skB_readkB_wrtnsda1.2527.707.95744567213572scd00.010.090.0024080dm-01.2926.057.22700162194081dm-10.000.080.0022200DevicetpskB_read/skB_wrtn/skB_readkB_wrtnsda0.330.001.3304scd00.000.000.0000dm-00.330.001.3304dm-10.000.000.0000DevicetpskB_read/skB_wrtn/skB_readkB_wrtnsda0.000.000.0000scd00.000.000.0000dm-00.000.000.0000dm-10.000.000.0000说明:各列信息说明tps:该设备每秒的传输次数(transferspersecond)。"一次传输"即"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。kB_read/s:每秒从设备(driveexpressed)读取的数据量;kB_wrtn/s:每秒向设备(driveexpressed)写入的数据量;kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。5.top命令实时排序显示系统中各个进程的资源占用状况,top命令经常用来检查Linux的哪个进程占用资源最多,分析系统的性能瓶颈时非常有用。【例1】在Linux系统中命令提示符下,运行top,可以查询进程系统状态。[root@localhost~]#toptop-06:26:46up8:38,1user,loadaverage:0.19,0.05,0.04Tasks:315total,1running,314sleeping,0stopped,0zombie%Cpu(s):0.3us,0.7sy,0.0ni,98.7id,0.0wa,0.3hi,0.0si,0.0stMiBMem:1800.6total,97.6free,870.7used,832.3buff/cacheMiBSwap:2048.0total,1692.0free,356.0used.727.8availMemPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND1022root20021920453604456S0.30.30:24.38vmtoolsd17987root200292006013893646316S0.37.50:57.05gnome-shell18289root2005406922535617648S0.31.40:07.90vmtoolsd21764root2006572851364252R0.30.30:00.13top1root20025619683844416S0.00.50:05.31systemd2root200000S0.00.00:00.01kthreadd上图上很清晰地显示系统总体的资源使用情况和各个进程占用资源的排序情况。%CPU:98.7id说明系统的CPU资源很空闲PID6332的进程排在第一位,说明这个进程占用资源最多6.2.3任务3:定时作业和系统错误信息主要学习命令crontab、at、dmsg。1.定时作业crontabLinux的crontab定时任务是个很好用的功能,如:可以通过crontab定时任务来清理磁盘空间,定时执行任务,让系统运维工作更加高效。crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。(1)检查是否安装了crontab,如果提示未安装请自行安装,crontab安装包在系统光盘里面的pacekage文件夹crontabs安装包。[root@localhostnmon16m_helpsystems]#rpm-qa|grepcrontabcrontabs-1.11-16.20150630git.el8.noarch[root@localhostnmon16m_helpsystems]#more/etc/crontab(2)crontab服务启动与关闭命令如下。/etc/init.d/crondstop--关闭服务/etc/init.d/crondstart--启动服务/etc/init.d/crondrestart--重启服务/etc/init.d/crondreload--重新载入配置(3)crontab在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录和crontab,cron.deny二个文件。[root@localhostnmon16m_helpsystems]#ls/etc/cron*/etc/cron.deny/etc/crontab/etc/cron.d:0hourlyraid-check/etc/cron.daily:logrotate/etc/cron.hourly:0anacron/etc/cron.monthly:/etc/cron.weekly:cron.daily是每天执行一次的jobcron.weekly是每个星期执行一次的jobcron.monthly是每月执行一次的jobcron.hourly是每个小时执行一次的jobcron.d是系统自动定期需要做的任务crontab是设定定时任务执行文件cron.deny文件就是用于控制不让哪些用户使用Crontab的功能用户配置文件:每个用户都有自己的cron配置文件,通过crontab-e就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.Linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容。5.crontab文件格式:*****commandminutehourdaymonthweekcommand分时天月星期命令各选项含义如下:minute:表示分钟,可以是从0到59之间的任何整数。hour:表示小时,可以是从0到23之间的任何整数。day:表示日期,可以是从1到31之间的任何整数。month:表示月份,可以是从1到12之间的任何整数。week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。6.特殊字符:星号(*):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。7.在home目录下编写一个test.sh脚本。chmoda+x/home/test.sh--给test.sh脚本执行赋权ll/home/test.sh--查看脚本是否有执行权限8.运行crontab–e编写一条定时任务*/5****/home/test.sh在每5分钟执行一次test.sh脚本。crontab-e*/5****/home/test.sh9.查询当前用户定时任务或删除当前用户定时任务。[root@localhost~]crontab-l--列出当前用户定时任务[root@localhost~]crontab-r--删除当前用户定时任务(删除所有,除非不再使用,否则没必要使用10.设置crond开机自动启动。

[root@localhost~]chkconfig--listcrond--查看crond是否开机自动启动[root@localhost~]chkconfig--level35crondon--设置crond开机自动启动遇到的问题:新创建的cronjob,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行。当crontab突然失效时,可以尝试/etc/init.d/crondrestart解决问题。或者查看日志看某个job有没有执行/报错tail-f/var/log/cron。需给新增的脚本赋权。[root@localhost~]#tail-f/var/log/cronAug1503:27:02localhostrun-parts[15888]:(/etc/cron.daily)finishedlogrotateAug1503:27:02localhostanacron[15410]:Job`cron.daily'terminatedAug1503:27:02localhostanacron[15410]:Normalexit(1jobrun)Aug1503:37:34localhostcrontab[16153]:(root)BEGINEDIT(root)Aug1503:37:37localhostcrontab[16153]:(root)ENDEDIT(root)2.at命令redhat中系统延时任务及定时任务采用at命令实现。系统延时任务设置如下:at11:11#设定任务执行时间at>rm-rf/mnt/*#任务动作at><eof><<ctrl+D#ctrl+D发起任务atnow+1min#延时1分钟at>rm-rf/mnt/*#删除/mnt/的所有任务动作at><eof>#结束命令at-lat-c10Cannotfindjobid10注:若出错,可用find/-typef-namecrond查一下看一下有没有是哪个文件生成它的。[root@localhost~]#find/-typef-namecrond/etc/pam.d/crond/etc/sysconfig/crond/usr/sbin/crond若提示权限不足,解决方法:修改/etc/pam.d/crond,把把所有required改成sufficient,这个对非root用户管用。[root@localhost~]#vi/etc/pam.d/crond改为:一般解决的流程:检查crond服务的日志,通过日志的报错信息来判断、定位分析问题。[root@localhost~]#cat/var/log/cron3.系统错误信息可用cat或者tail-f命令可查看日志文件/var/log/message,其中存放了系统启动后的信息和错误日志,是RedHatLinux中最常用的日志之一。其他的日志文件主要包括:/var/log/secure与安全相关的日志信息/var/log/maillog与邮件相关的日志信息/var/log/cron与定时任务相关的日志信息/var/log/spooler与UUCP和news设备相关的日志信息/var/log/boot.log守护进程启动和停止相关的日志消息查看方法:[root@localhost~]#ls/var/log查看系统相关信息命令如下。系统:#uname-a#查看内核/操作系统/CPU信息#cat/etc/issue#cat/etc/redhat-release#查看操作系统版本#cat/proc/cpuinfo#查看CPU信息#hostname#查看计算机名#lspci-tv#列出所有PCI设备#lsusb-tv#列出所有USB设备#lsmod#列出加载的内核模块#env#查看环境变量资源:#free-m#查看内存使用量和交换区使用量#df-h#查看各分区使用情况#du-sh<目录名>#查看指定目录的大小#grepMemTotal/proc/meminfo#查看内存总量#grepMemFree/proc/meminfo#查看空闲内存量#uptime#查看系统运行时间、用户数、负载#cat/proc/loadavg#查看系统负载

磁盘和分区:#mount|column-t#查看挂接的分区状态#fdisk-l#查看所有分区#swapon-s#查看所有交换分区#hdparm-i/dev/hda#查看磁盘参数(仅适用于IDE设备)#dmesg|grepIDE#查看启动时IDE设备检测状况网络:#ifconfig#查看所有网络接口的属性#iptables-L#查看防火墙设置#route-n#查看路由表#netstat-lntp#查看所有监听端口#netstat-antp#查看所有已经建立的连接#netstat-s#查看网络统计信息进程:#ps-ef#查看所有进程#top#实时显示进程状态(另一篇文章里面有详细的介绍)用户:#w#查看活动用户#id<用户名>#查看指定用户信息#last#查看用户登录日志#cut-d:-f1/etc/passwd#查看系统所有用户#cut-d:-f1/etc/group#查看系统所有组#crontab-l#查看当前用户的计划任务服务:#chkconfig–list#列出所有系统服务#chkconfig–list|grepon#列出所有启动的系统服务

4.dmesg使用Linux系统常需查看/var/log目录下的messages、dmsg两个日志文件有无相关操作问题记录。以下介绍如何配置dmesg服务。[root@localhost~]#touch/etc/systemd/system/dmesg.service[root@localhost~]#cd/etc/systemd/system[root@localhostsystem]#vidmesg.service输入:[Unit]Descrition=Create/var/log/dmesgonbootConditonPatExists=/var/log/dmesg[Service]ExecStart=/usr/bin/dmesgStandardOUtput=file:var/log/dmesg[Install]WantedBy=multi-user.target创建dmesg文件:root@localhostsystem]#touch/var/log/dmesg使能刚创建的dmesg文件:[root@localhostsystem]#systemctlenabledmesgCreatedsymlink/etc/systemd/system/multi-user.target.wants/dmesg.service→/etc/systemd/system/dmesg.service.运行测试:[root@localhostsystem]#dmesg[0.000000]Linuxversion4.18.0-193.el8.x86_64(mockbuild@)(gccversion8.3.120191121(RedHat8.3.1-5)(GCC))#1SMPFriMar2714:35:58UTC2020[0.000000]Commandline:BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-193.el8.x86_64root=/dev/mapper/rhel-rootrocrashkernel=autoresume=/dev/mapper/rhel-swaprd.lvm.lv=rhel/rootrd.lvm.lv=rhel/swaprhgbquiet[0.000000]Disabledfaststringoperations[0.000000]x86/fpu:SupportingXSAVEfeature0x001:'x87floatingpointregisters'[0.000000]x86/fpu:SupportingXSAVEfeature0x002:'SSEregisters'[root@localhostsystem]#systemctlstartdmesg[root@localhostsystem]#systemctlrestartdmesg6.3任务实施-检查数据库服务器在系统的运行状态应用程序在服务器运行时,将占用服务器的资源,操作系统可以用占用CPU资源、内存资源和IO资源来衡量一个应用程序使用资源的程度。本任务实施将利用操作系统的工具top、vmstat和第三方免费开源工具nmon监控Mysql数据库服务器运行情况,即CPU使用率,内存占用,和IO读写情况。6.3.1任务实施步骤1设计一个Mysql存储过程,使Mysql数据库服务器处于一个较高负载的运行状态。创建一个存储过程,创建一张表,然后执行循环语句,插入10万条记录。[root@Mysqlserver/]#Mysql-uroot-p[root@Mysqlserver/]Mysql>dropdatabaseifexistsdb1;createdatabasedb1;usedb1;delimiter$$createprocedurepro1(innint)begindeclarenum001,num002int;setnum001=1,num002=1;CREATETABLEtest(IDINTPRIMARYKEYAUTO_INCREMENT,test_nameVARCHAR(20),test_numINT);whilen-num001>=0doinsertintotest(test_name,test_num)values(concat("zhangsan",num001),num002);setnum001=num001+1,num002=num002+2;endwhile;end$$delimiter;执行存储过程:Mysql>callpro1(100000);//第一次执行QueryOK,1rowaffected(3min28.44sec)间隔几分钟,再次执行存储过程:Mysql>droptabletest;QueryOK,0rowsaffected(0.05sec)Mysql>callpro1(100000);//第二次执行QueryOK,1rowaffected(3min31.16sec)6.3.2任务实施步骤2使用操作系统工具,在Mysql数据库服务器运行存储过程时,监控它使用系统资源的情况。1.使用top工具监控[root@Mysqlserver/]toptop-14:49:25up1:19,1user,loadaverage:2.83,2.05,1.10Tasks:321total,3running,318sleeping,0stopped,0zombie%Cpu(s):12.5us,61.8sy,0.0ni,0.0id,10.6wa,10.4hi,4.6si,0.0stMiBMem:3758.6total,1199.7free,1616.8used,942.1buff/cacheMiBSwap:4048.0total,4048.0free,0.0used.1888.6availMemPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND3162Mysql200134783642570432376S40.911.13:51.46Mysqld957root200000R16.70.01:32.10jbd2/dm-+467root0-20000I8.50.00:48.59kworker/+2513root200289332815838892436S4.94.11:22.39gnome-sh+2904root2005348804614033744S1.01.20:14.08gnome-te+2645root200177712298008252S0.70.80:23.47sssd_kcm2569root20036716880926664S0.30.20:02.36ibus-dae+10root200000R0.20.00:01.15rcu_sched1030root2001528441256010992S0.20.30:06.63vmtoolsd1041root20016012067565924S0.20.20:03.07rngd2735root20020658868126096S0.20.20:00.73ibus-eng+2830root2005508563960431752S0.21.00:07.27vmtoolsd4000root2006400049924128R0.20.10:02.40top4061root200000I0.20.00:00.05kworker/+1root200179216140969148S0.00.40:03.95systemd2root200000S0.00.00:00.01kthreadd3root0-20000I0.00.00:00.00rcu_gp从上面的数据,可以看到Mysql数据库服务器的进程Mysqld,当前运行时占用了43.2%的CPU资源,占用了10%的内存资源。整个系统CPU的使用率非常高12.5us,61.8sy,0.0id,10.6wa,10.4hi,4.6si.2.使用vmstat工具[root@Mysqlserver/]#vmstat10procsmemoryswap--io-system--cpurbswpdfreebuffcachesisobiboincsussyidwast10011880406783689996000031202482296000001187976678368999600002118246129600200118797667836899964000012926212970010011877766783689996400002403954493001001187900678368999640001145288229600000118777667836899964

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论