Linux操作系統(tǒng)項目化教程基于RHEL 8.2-CentOS 8.2-電子課件 任務(wù)6-v1_第1頁
Linux操作系統(tǒng)項目化教程基于RHEL 8.2-CentOS 8.2-電子課件 任務(wù)6-v1_第2頁
Linux操作系統(tǒng)項目化教程基于RHEL 8.2-CentOS 8.2-電子課件 任務(wù)6-v1_第3頁
Linux操作系統(tǒng)項目化教程基于RHEL 8.2-CentOS 8.2-電子課件 任務(wù)6-v1_第4頁
Linux操作系統(tǒng)項目化教程基于RHEL 8.2-CentOS 8.2-電子課件 任務(wù)6-v1_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

6任務(wù)六

更上一層樓

--服務(wù)器運行監(jiān)控6.1任務(wù)導入任務(wù)概述、任務(wù)分析、任務(wù)目標6.3任務(wù)實施項目實施步驟1、項目實施步驟26.2任務(wù)知識準備知識點1、知識點26.4任務(wù)思考雙創(chuàng)體現(xiàn)任務(wù)六每天收獲小進步--創(chuàng)建用戶環(huán)境6.5任務(wù)拓展知識技術(shù)拓展1、技術(shù)拓展26.6任務(wù)小結(jié)本任務(wù)小結(jié)6.1任務(wù)導入

6.1.1任務(wù)概述

Linux服務(wù)器運行狀態(tài)需要進行定期或遇到故障時需要進行監(jiān)控,找出問題所在,以便進行解決。需要掌握常用的監(jiān)控命令,并進行運用和觀察、分析。6.1.2任務(wù)分析根據(jù)任務(wù)概述,我們需要考慮:1、Linux服務(wù)器運行狀態(tài)主要包括哪些方面?2、如何使用命令查詢服務(wù)器運行?3、如何設(shè)置命令參數(shù)?4、如何分析運行結(jié)果?5、如何管理運行的進程?6.1.3任務(wù)目標根據(jù)任務(wù)分析,我們需要掌握如下知識、技能、思政、雙創(chuàng)、課證目標。(1)了解用戶和組群配置文件。(知識)(2)熟練掌握Linux下用戶的創(chuàng)建與管理的方法。(技能)(3)熟練掌握Linux下組群的創(chuàng)建與管理的方法。(技能)(4)熟悉用戶賬戶管理器的使用方法。(技能)(5)系統(tǒng)管理員要求具備對用戶信息嚴格管理的職業(yè)素養(yǎng)(思政)(6)根據(jù)樂購網(wǎng)站Mysql數(shù)據(jù)庫服務(wù)器所需的用戶環(huán)境設(shè)計其他服務(wù)器所需用戶環(huán)境(雙創(chuàng))(7)拓展1+X云計算運維與開發(fā)考證及紅帽RHCSA認證知識技能(課證)6.2任務(wù)知識準備6.2.1任務(wù)1:了解服務(wù)器的運行狀態(tài)Linux操作系統(tǒng)中常需運行多任務(wù)多進程。為了解Linux運行情況,需要查看和監(jiān)控各進程及軟硬件運行狀態(tài)。要保證Linux服務(wù)器系統(tǒng)的高可用性,需實時了解服務(wù)器的硬件、操作系統(tǒng)、應用服務(wù)等的運行狀況。在Linux系統(tǒng)環(huán)境的使用與開發(fā)過程中,我們常需評估系統(tǒng)性能,尤其在性能測試過程中,我們需要通過系統(tǒng)資源的監(jiān)控,從而分析定位系統(tǒng)的性能瓶頸??蓮囊韵戮S度來評估系統(tǒng)的性能好壞:CPU利用率及負載、內(nèi)存利用率、磁盤I/O利用率、網(wǎng)絡(luò)利用率等。Linux監(jiān)控的對象包括:硬件監(jiān)控、操作系統(tǒng)監(jiān)控。硬件監(jiān)控:(1)服務(wù)器:如電源,風扇,磁盤,CPU等,可以使用IPMI監(jiān)控,在Linux下安裝IPMITOOL。不同的服務(wù)器廠商都在服務(wù)器上配有遠程控制卡BMC:如DELL(iDRAC),IBM(IMM),HP(ILO)。Linux下需安裝:#yuminstall-yOpenIPMIipmitool這2個工具可以監(jiān)控。(2)網(wǎng)絡(luò)設(shè)備:交換機,防火墻,路由器等,使用SNMP進行監(jiān)控。在被監(jiān)控的設(shè)備上開啟SNMP代理,可以通過工具進行獲取數(shù)據(jù),如ZABBIX。操作系統(tǒng)監(jiān)控:安裝sysstat工具,包括iostat、vmstat、sar、mpstat、nfsiostat、pidstat(安裝方法:yuminstall-ysysstat

#rpm-qlsysstat)。可監(jiān)控CPU(CPU調(diào)度上下文切換,運行隊列負載,CPU使用率);確定服務(wù)類型:IO密集型(如:數(shù)據(jù)庫),CPU密集型(如:WEB)。

命令功能應用用法舉例ps最基本同時也是非常強大的進程查看命令psauxtop實時排序顯示系統(tǒng)中各個進程的資源占用狀況topvmstat對系統(tǒng)的整體情況進行統(tǒng)計,包括內(nèi)核進程、虛擬內(nèi)存、磁盤、陷阱和CPU活動的統(tǒng)計信息vmstat2100free查看內(nèi)存使用情況,包括物理內(nèi)存和虛擬內(nèi)存free-h或free-mnetstat檢驗本機各端口的網(wǎng)絡(luò)連接情況,用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù)netstat-admesg主要用來顯示內(nèi)核信息。使用dmesg可以有效診斷機器硬件故障或者添加硬件出現(xiàn)的問題。dmesgtcpdump用于捕捉或者過濾網(wǎng)絡(luò)上指定接口上接收或者傳輸?shù)腡CP/IP包tcpdump-ieth0-c3uptime用于查看服務(wù)器運行了多長時間以及有多少個用戶登錄,快速獲知服務(wù)器的負荷情況uptimeiostatiostat主要用于監(jiān)控系統(tǒng)設(shè)備的IO負載情況iostat-d36.2.2任務(wù)2:系統(tǒng)進程管理和性能監(jiān)控進程是一個具有一定獨立功能的程序關(guān)于某個數(shù)據(jù)集合的一次運行活動,它是進行系統(tǒng)資源分配、調(diào)度的一個獨立單位。進程運行時有5大特征:動態(tài)性、并發(fā)性、異步性、獨立性、結(jié)構(gòu)性。每個進程都有其相對應的數(shù)據(jù)結(jié)構(gòu)及獨立表項。系統(tǒng)進程管理和性能監(jiān)控主要命令有:ps、kill、vmstat、top。要查看系統(tǒng)中執(zhí)行的進程,常用ps(processstatus)命令。要刪除某些進程時,除了使用top命令的K鍵功能外,最簡單的方法是在文本模式下執(zhí)行kill命令將進程刪除,通常它可以搭配ps命令使用。vmstat用來查看系統(tǒng)和磁盤狀態(tài),適用于所有主要的類unix系統(tǒng)(Linux/unix/FreeBSD/Solaris)。top:命令自動排序進程,按照占用系統(tǒng)資源的多少排序,包括內(nèi)存,交換分區(qū),和CPU的使用率等。如果想終止top命令按Q鍵。1.psLinux中的ps命令是ProcessStatus的縮寫。ps命令用來列出系統(tǒng)中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執(zhí)行ps命令的那個時刻的那些進程,如果想要動態(tài)的顯示進程信息,就可以使用top命令。要對進程進行監(jiān)測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態(tài)、進程是否結(jié)束、進程有沒有僵死、哪些進程占用了過多的資源等等??傊蟛糠中畔⒍际强梢酝ㄟ^執(zhí)行該命令得到的。語法:[root@localhost~]#ps--helpUsage:ps[options]Formoredetailsseeps(1).命令參數(shù):a顯示所有進程-a顯示同一終端下的所有程序-A顯示所有進程c顯示進程的真實名稱-N反向選擇-e等于“-A”e顯示環(huán)境變量f顯示程序間的關(guān)系-H顯示樹狀結(jié)構(gòu)r顯示當前終端的進程T顯示當前終端的所有程序u指定用戶的所有進程-au顯示較詳細的資訊-aux顯示所有包含其他使用者的行程-C<命令>列出指定命令的狀況--lines<行數(shù)>每頁顯示的行數(shù)--width<字符數(shù)>每頁顯示的字符數(shù)--help顯示幫助信息--version顯示版本顯示可用圖形方式查看進程狀態(tài),也可用ps命令靈活地查詢進程狀態(tài)?!纠?】以圖形方式查看查看進程[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進程占用內(nèi)存百分比VSZ虛擬內(nèi)存占用大小單位:kb(killobytes)RSS實際內(nèi)存占用大小單位:kb(killobytes)TTY終端類型STAT進程狀態(tài)START進程啟動時刻TIME進程運行時長COMMAND啟動進程的命令其中STAT狀態(tài)位常見的狀態(tài)字符有D

//無法中斷的休眠狀態(tài)(通常IO的進程);

R

//正在運行可中在隊列中可過行的;

S

//處于休眠狀態(tài);

T

//停止或被追蹤;

W

//進入內(nèi)存交換(從內(nèi)核2.6開始無效);

X

//死掉的進程(基本很少見);

Z

//僵尸進程;

<

//優(yōu)先級高的進程

N

//優(yōu)先級較低的進程

L

//有些頁被鎖進內(nèi)存;

s

//進程的領(lǐng)導者(在它之下有子進程);

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與相關(guān)信息列示出來命令:[root@localhost~]#ps-l輸出:FSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD4S021561215560800-7011-pts/000:00:00bash0R029301215610800-11409-pts/000:00:00ps說明:各相關(guān)信息的意義:F

代表這個進程的旗標

(flag),

4

代表使用者為

super

userS

代表這個進程的狀態(tài)

(STAT),關(guān)于各

STAT

的意義將在內(nèi)文介紹UID

進程的用戶IDPID

進程ID

PPID父進程IDC

CPU使用的資源百分比PRI

進程優(yōu)先級NI

進程優(yōu)先級的調(diào)整ADDR

進程在內(nèi)存的地址,一般顯示"-"SZ

使用內(nèi)存的大小WCHAN

目前這個程序是否正在運作當中,若為-表示正在運作TTY

登入者的終端機位置TIME

使用CPU時間。CMD

啟動進程的命令2.KillLinuxkill命令用于刪除執(zhí)行中的程序或進程。kill可將指定的信息送至程序。預設(shè)的信息為SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強制刪除程序。程序或工作的編號可利用ps指令或jobs指令查看。通過帶help參數(shù),查看使用語法如下:[root@localhost~]#kill--helpkill:kill[-s信號聲明|-n信號編號|-信號聲明]進程號|任務(wù)聲明...或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.參數(shù)說明:-l<信息編號>若不加<信息編號>選項,則-l參數(shù)會列出全部的信息名稱。-s<信息名稱或編號>指定要送出的信息。[程序][程序]可以是程序的PID或是PGID,也可以是工作編號。使用kill-l命令列出所有可用信號。最常用的信號是:1(HUP):重新加載進程。9(KILL):殺死一個進程。15(TERM):正常停止一個進程。kill-9xxx強制殺死PID為XXX的進程。有十幾種控制進程的方法,下面是一些常用的方法:kill-STOP[pid]發(fā)送SIGSTOP(17,19,23)停止一個進程,而并不消滅這個進程。kill-CONT[pid]發(fā)送SIGCONT(19,18,25)重新開始一個停止的進程。kill-KILL[pid]發(fā)送SIGKILL(9)強迫進程立即停止,并且不實施清理操作。kill-9-1終止你擁有的全部進程。SIGKILL和SIGSTOP信號不能被捕捉、封鎖或者忽略,但是,其它的信號可以。實例:[root@localhost~]#kill215613.vmstat對系統(tǒng)的整體情況進行統(tǒng)計,包括內(nèi)核進程、虛擬內(nèi)存、磁盤、陷阱和CPU活動的統(tǒng)計信息。通過帶help參數(shù),查看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秒執(zhí)行vmstat,共執(zhí)行N次下面命令將會每2秒中執(zhí)行一次vmstat,執(zhí)行6次后自動停止執(zhí)行。[root@localhost~]#vmstat26procsmemoryswap--io-system--cpurbswpdfreebuffcachesisobiboincsussyidwast20154112736282425931224930070982151297100015411273568242593120000892161199000015411273568242593120000397680139600001541127356824259312000051494813960000154112733882425931200003496791495000015411273208242593400000437800349400說明:各列信息說明r:當前運行隊列中線程的數(shù)目,代表線程處于可運行狀態(tài),但CPU還未能執(zhí)行.,這個值可以作為判斷CPU是否繁忙的一個指標;當這個值超過了CPU數(shù)目,就會出現(xiàn)CPU瓶頸了;這個我們可以結(jié)合top命令的負載值同步評估系統(tǒng)性能;b:等待IO的進程數(shù)量;如果該值一直都很大,說明IO比較繁忙,處理較慢;memory(內(nèi)存)swpd:虛擬內(nèi)存已使用的大?。蝗绻鹲wpd的值不為0,但是si,so的值長期為0,這種情況不會影響系統(tǒng)性能;free:空閑的物理內(nèi)存的大?。籦uff:用作緩沖的內(nèi)存大?。籧ache:用作緩存的內(nèi)存大??;如果cache的值大的時候,說明cache處的文件數(shù)多,如果頻繁訪問到的文件都能被cache處,那么磁盤的讀IObi會非常??;swap(交換空間,單位:KB);內(nèi)存夠用的時候,這2個值都是0,如果這2個值長期大于0時,系統(tǒng)性能會受到影響,磁盤IO和CPU資源都會被消耗。有時我們看到空閑內(nèi)存(free)很少的或接近于0時,就認為內(nèi)存不夠用了,不能光看這一點,還要結(jié)合si和so,如果free很少,但是si和so也很少(大多時候是0),那么不用擔心,系統(tǒng)性能這時不會受到影響的;si:每秒從交換區(qū)寫到內(nèi)存的大小;so:每秒寫入交換區(qū)的內(nèi)存大??;io(單位:塊/秒)bi:每秒讀取的塊數(shù);bo:每秒寫入的塊數(shù);隨機磁盤讀寫的時候,這2個值越大,能看到CPU在IO等待的值也會越大;system(系統(tǒng));這2個值越大,會看到由內(nèi)核消耗的CPU時間會越大;in:每秒中斷數(shù),包括時鐘中斷;cs:每秒上下文切換數(shù);cpu(以百分比表示)us:用戶進程執(zhí)行時間(usertime);sy:系統(tǒng)進程執(zhí)行時間(systemtime);id:空閑時間(包括IO等待時間);wa:等待IO時間;wa的值高時,說明IO等待比較嚴重,這可能由于磁盤大量作隨機訪問造成,也有可能磁盤出現(xiàn)瓶頸【例2】統(tǒng)計各種計數(shù)器vmstat命令的-s參數(shù),將輸出各種事件計數(shù)器和內(nèi)存的統(tǒng)計信息。[root@localhost~]#vmstat-s1843832Ktotalmemory1511116Kusedmemory497892Kactivememory501156Kinactivememory72140Kfreememory24Kbuffermemory260552Kswapcache2097148Ktotalswap154112Kusedswap1943036Kfreeswap3102non-niceusercputicks108niceusercputicks3908systemcputicks324304idlecputicks3020IO-waitcputicks1019IRQcputicks329softirqcputicks0stolencputicks975040pagespagedin226413pagespagedout1301pagesswappedin40098pagesswappedout337623interrupts739459CPUcontextswitches1629442374boottime3580forks4.iostat命令iostat命令用于統(tǒng)計并輸出特定設(shè)備或分區(qū)的IO信息。【例1】iostat的-d參數(shù)將會輸出所有磁盤的統(tǒng)計信息。[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:該設(shè)備每秒的傳輸次數(shù)(transferspersecond)。"一次傳輸"即"一次I/O請求"。多個邏輯請求可能會被合并為"一次I/O請求"。"一次傳輸"請求的大小是未知的。kB_read/s:每秒從設(shè)備(driveexpressed)讀取的數(shù)據(jù)量;kB_wrtn/s:每秒向設(shè)備(driveexpressed)寫入的數(shù)據(jù)量;kB_read:讀取的總數(shù)據(jù)量;kB_wrtn:寫入的總數(shù)量數(shù)據(jù)量;這些單位都為Kilobytes。5.top命令實時排序顯示系統(tǒng)中各個進程的資源占用狀況,top命令經(jīng)常用來檢查Linux的哪個進程占用資源最多,分析系統(tǒng)的性能瓶頸時非常有用?!纠?】在Linux系統(tǒng)中命令提示符下,運行top,可以查詢進程系統(tǒng)狀態(tài)。[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上圖上很清晰地顯示系統(tǒng)總體的資源使用情況和各個進程占用資源的排序情況。%CPU:98.7id說明系統(tǒng)的CPU資源很空閑PID6332的進程排在第一位,說明這個進程占用資源最多6.2.3任務(wù)3:定時作業(yè)和系統(tǒng)錯誤信息主要學習命令crontab、at、dmsg。1.定時作業(yè)crontabLinux的crontab定時任務(wù)是個很好用的功能,如:可以通過crontab定時任務(wù)來清理磁盤空間,定時執(zhí)行任務(wù),讓系統(tǒng)運維工作更加高效。crontab命令用于設(shè)置周期性被執(zhí)行的指令。該命令從標準輸入設(shè)備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執(zhí)行。(1)檢查是否安裝了crontab,如果提示未安裝請自行安裝,crontab安裝包在系統(tǒng)光盤里面的pacekage文件夾crontabs安裝包。[root@localhostnmon16m_helpsystems]#rpm-qa|grepcrontabcrontabs-1.11-16.20150630git.el8.noarch[root@localhostnmon16m_helpsystems]#more/etc/crontab(2)crontab服務(wù)啟動與關(guān)閉命令如下。/etc/init.d/crondstop--關(guān)閉服務(wù)/etc/init.d/crondstart--啟動服務(wù)/etc/init.d/crondrestart--重啟服務(wù)/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是每天執(zhí)行一次的jobcron.weekly是每個星期執(zhí)行一次的jobcron.monthly是每月執(zhí)行一次的jobcron.hourly是每個小時執(zhí)行一次的jobcron.d是系統(tǒng)自動定期需要做的任務(wù)crontab是設(shè)定定時任務(wù)執(zhí)行文件cron.deny文件就是用于控制不讓哪些用戶使用Crontab的功能用戶配置文件:每個用戶都有自己的cron配置文件,通過crontab-e就可以編輯,一般情況下我們編輯好用戶的cron配置文件保存退出后,系統(tǒng)會自動就存放于/var/spool/cron/目錄中,文件以用戶名命名.Linux的cron服務(wù)是每隔一分鐘去讀取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的內(nèi)容。5.crontab文件格式:*****commandminutehourdaymonthweekcommand分時天月星期命令各選項含義如下:minute:表示分鐘,可以是從0到59之間的任何整數(shù)。hour:表示小時,可以是從0到23之間的任何整數(shù)。day:表示日期,可以是從1到31之間的任何整數(shù)。month:表示月份,可以是從1到12之間的任何整數(shù)。week:表示星期幾,可以是從0到7之間的任何整數(shù),這里的0或7代表星期日。command:要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫的腳本文件。6.特殊字符:星號(*):代表每的意思,例如month字段如果是星號,則表示每月都執(zhí)行該命令操作。逗號(,):表示分隔時段的意思,例如,“1,3,5,7,9”。中杠(-):表示一個時間范圍,例如“2-6”表示“2,3,4,5,6”。正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執(zhí)行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執(zhí)行一次。7.在home目錄下編寫一個test.sh腳本。chmoda+x/home/test.sh--給test.sh腳本執(zhí)行賦權(quán)l(xiāng)l/home/test.sh--查看腳本是否有執(zhí)行權(quán)限8.運行crontab–e編寫一條定時任務(wù)*/5****/home/test.sh在每5分鐘執(zhí)行一次test.sh腳本。crontab-e*/5****/home/test.sh9.查詢當前用戶定時任務(wù)或刪除當前用戶定時任務(wù)。[root@localhost~]crontab-l--列出當前用戶定時任務(wù)[root@localhost~]crontab-r--刪除當前用戶定時任務(wù)(刪除所有,除非不再使用,否則沒必要使用10.設(shè)置crond開機自動啟動。

[root@localhost~]chkconfig--listcrond--查看crond是否開機自動啟動[root@localhost~]chkconfig--level35crondon--設(shè)置crond開機自動啟動遇到的問題:新創(chuàng)建的cronjob,不會馬上執(zhí)行,至少要過2分鐘才執(zhí)行。如果重啟cron則馬上執(zhí)行。當crontab突然失效時,可以嘗試/etc/init.d/crondrestart解決問題?;蛘卟榭慈罩究茨硞€job有沒有執(zhí)行/報錯tail-f/var/log/cron。需給新增的腳本賦權(quán)。[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中系統(tǒng)延時任務(wù)及定時任務(wù)采用at命令實現(xiàn)。系統(tǒng)延時任務(wù)設(shè)置如下:at11:11#設(shè)定任務(wù)執(zhí)行時間at>rm-rf/mnt/*#任務(wù)動作at><eof><<ctrl+D#ctrl+D發(fā)起任務(wù)atnow+1min#延時1分鐘at>rm-rf/mnt/*#刪除/mnt/的所有任務(wù)動作at><eof>#結(jié)束命令at-lat-c10Cannotfindjobid10注:若出錯,可用find/-typef-namecrond查一下看一下有沒有是哪個文件生成它的。[root@localhost~]#find/-typef-namecrond/etc/pam.d/crond/etc/sysconfig/crond/usr/sbin/crond若提示權(quán)限不足,解決方法:修改/etc/pam.d/crond,把把所有required改成sufficient,這個對非root用戶管用。[root@localhost~]#vi/etc/pam.d/crond改為:一般解決的流程:檢查crond服務(wù)的日志,通過日志的報錯信息來判斷、定位分析問題。[root@localhost~]#cat/var/log/cron3.系統(tǒng)錯誤信息可用cat或者tail-f命令可查看日志文件/var/log/message,其中存放了系統(tǒng)啟動后的信息和錯誤日志,是RedHatLinux中最常用的日志之一。其他的日志文件主要包括:/var/log/secure與安全相關(guān)的日志信息/var/log/maillog與郵件相關(guān)的日志信息/var/log/cron與定時任務(wù)相關(guān)的日志信息/var/log/spooler與UUCP和news設(shè)備相關(guān)的日志信息/var/log/boot.log守護進程啟動和停止相關(guān)的日志消息查看方法:[root@localhost~]#ls/var/log查看系統(tǒng)相關(guān)信息命令如下。系統(tǒng):#uname-a#查看內(nèi)核/操作系統(tǒng)/CPU信息#cat/etc/issue#cat/etc/redhat-release#查看操作系統(tǒng)版本#cat/proc/cpuinfo#查看CPU信息#hostname#查看計算機名#lspci-tv#列出所有PCI設(shè)備#lsusb-tv#列出所有USB設(shè)備#lsmod#列出加載的內(nèi)核模塊#env#查看環(huán)境變量資源:#free-m#查看內(nèi)存使用量和交換區(qū)使用量#df-h#查看各分區(qū)使用情況#du-sh<目錄名>#查看指定目錄的大小#grepMemTotal/proc/meminfo#查看內(nèi)存總量#grepMemFree/proc/meminfo#查看空閑內(nèi)存量#uptime#查看系統(tǒng)運行時間、用戶數(shù)、負載#cat/proc/loadavg#查看系統(tǒng)負載

磁盤和分區(qū):#mount|column-t#查看掛接的分區(qū)狀態(tài)#fdisk-l#查看所有分區(qū)#swapon-s#查看所有交換分區(qū)#hdparm-i/dev/hda#查看磁盤參數(shù)(僅適用于IDE設(shè)備)#dmesg|grepIDE#查看啟動時IDE設(shè)備檢測狀況網(wǎng)絡(luò):#ifconfig#查看所有網(wǎng)絡(luò)接口的屬性#iptables-L#查看防火墻設(shè)置#route-n#查看路由表#netstat-lntp#查看所有監(jiān)聽端口#netstat-antp#查看所有已經(jīng)建立的連接#netstat-s#查看網(wǎng)絡(luò)統(tǒng)計信息進程:#ps-ef#查看所有進程#top#實時顯示進程狀態(tài)(另一篇文章里面有詳細的介紹)用戶:#w#查看活動用戶#id<用戶名>#查看指定用戶信息#last#查看用戶登錄日志#cut-d:-f1/etc/passwd#查看系統(tǒng)所有用戶#cut-d:-f1/etc/group#查看系統(tǒng)所有組#crontab-l#查看當前用戶的計劃任務(wù)服務(wù):#chkconfig–list#列出所有系統(tǒng)服務(wù)#chkconfig–list|grepon#列出所有啟動的系統(tǒng)服務(wù)

4.dmesg使用Linux系統(tǒng)常需查看/var/log目錄下的messages、dmsg兩個日志文件有無相關(guān)操作問題記錄。以下介紹如何配置dmesg服務(wù)。[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創(chuàng)建dmesg文件:root@localhostsystem]#touch/var/log/dmesg使能剛創(chuàng)建的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任務(wù)實施-檢查數(shù)據(jù)庫服務(wù)器在系統(tǒng)的運行狀態(tài)應用程序在服務(wù)器運行時,將占用服務(wù)器的資源,操作系統(tǒng)可以用占用CPU資源、內(nèi)存資源和IO資源來衡量一個應用程序使用資源的程度。本任務(wù)實施將利用操作系統(tǒng)的工具top、vmstat和第三方免費開源工具nmon監(jiān)控Mysql數(shù)據(jù)庫服務(wù)器運行情況,即CPU使用率,內(nèi)存占用,和IO讀寫情況。6.3.1任務(wù)實施步驟1設(shè)計一個Mysql存儲過程,使Mysql數(shù)據(jù)庫服務(wù)器處于一個較高負載的運行狀態(tài)。創(chuàng)建一個存儲過程,創(chuàng)建一張表,然后執(zhí)行循環(huán)語句,插入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;執(zhí)行存儲過程:Mysql>callpro1(100000);//第一次執(zhí)行QueryOK,1rowaffected(3min28.44sec)間隔幾分鐘,再次執(zhí)行存儲過程:Mysql>droptabletest;QueryOK,0rowsaffected(0.05sec)Mysql>callpro1(100000);//第二次執(zhí)行QueryOK,1rowaffected(3min31.16sec)6.3.2任務(wù)實施步驟2使用操作系統(tǒng)工具,在Mysql數(shù)據(jù)庫服務(wù)器運行存儲過程時,監(jiān)控它使用系統(tǒng)資源的情況。1.使用top工具監(jiān)控[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從上面的數(shù)據(jù),可以看到Mysql數(shù)據(jù)庫服務(wù)器的進程Mysqld,當前運行時占用了43.2%的CPU資源,占用了10%的內(nèi)存資源。整個系統(tǒng)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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論