

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第11章系統(tǒng)監(jiān)視與優(yōu)化,主講人: 曹重華,本章內(nèi)容要點(diǎn),理解影響系統(tǒng)性能的因素系統(tǒng)性能分析工具Linux的內(nèi)核參數(shù)的修改方法基于Web服務(wù)器的調(diào)優(yōu),2024年3月16日,2,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),本章學(xué)習(xí)目標(biāo),學(xué)會(huì)使用top、mpstat、vmstst、iostat工具分析系統(tǒng)性能熟悉系統(tǒng)性能評(píng)估標(biāo)準(zhǔn)掌握Web服務(wù)器的調(diào)優(yōu),2024年
2、3月16日,3,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),監(jiān)視系統(tǒng)性能,,2024年3月16日,4,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),系統(tǒng)性能監(jiān)視對(duì)象,容易形成性能瓶頸的監(jiān)視對(duì)象CPU性能內(nèi)存性能磁盤(pán)I/O性能網(wǎng)絡(luò)I/O帶寬,2024年3月16日,曹重華(304960311@qq
3、.com) Creative Commons License(BY-NC-SA),5,系統(tǒng)性能監(jiān)視常用工具,CPU監(jiān)視工具uptime:顯示系統(tǒng)平均負(fù)載top:動(dòng)態(tài)顯示系統(tǒng)進(jìn)程任務(wù)mpstat:輸出CPU的各種統(tǒng)計(jì)信息內(nèi)存監(jiān)視工具free:顯示系統(tǒng)內(nèi)存的使用vmstat:報(bào)告虛擬內(nèi)存的統(tǒng)計(jì)信息磁盤(pán)I/O監(jiān)視工具iostat:輸出CPU、I/O系統(tǒng)和磁盤(pán)的統(tǒng)計(jì)信息網(wǎng)絡(luò)流量nload:顯示當(dāng)前的網(wǎng)絡(luò)流量,2024年3月1
4、6日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),6,top命令,動(dòng)態(tài)顯示系統(tǒng)的統(tǒng)計(jì)信息和進(jìn)程的重要信息統(tǒng)計(jì)信息系統(tǒng)平均負(fù)載進(jìn)程狀態(tài)統(tǒng)計(jì)CPU使用的統(tǒng)計(jì)信息物理內(nèi)存和虛擬內(nèi)存的使用統(tǒng)計(jì)信息進(jìn)程信息1 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND2 PID PP
5、ID TIME+ %CPU %MEM PR NI S VIRT SWAP RES UID COMMAND3 PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND4 PID PPID UID USER RUSER TTY TIME+ %CPU %MEM S COMMAND,2024年3月
6、16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),7,top命令輸出的統(tǒng)計(jì)信息(1),顯示的是uptime命令的輸出07:01:55 —— 當(dāng)前時(shí)間up 14 min —— 系統(tǒng)自開(kāi)機(jī)后運(yùn)行的時(shí)間1 user —— 當(dāng)前登錄的用戶數(shù)load average: 0.03, 0.02, 0.00 1分鐘系統(tǒng)平均負(fù)載,5分鐘系統(tǒng)平均負(fù)載,15分鐘系統(tǒng)平均負(fù)載一
7、段時(shí)間內(nèi),每個(gè)值都應(yīng)該小于系統(tǒng)中CPU的個(gè)數(shù),否則表示系統(tǒng)存在CPU瓶頸相關(guān)的交互命令交互命令 “l(fā)”是用于是否顯示此信息的乒乓切換開(kāi)關(guān),2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),8,top - 07:01:55 up 14 min, 1 user, load average: 0.03, 0.02, 0.00,top命令輸出的統(tǒng)計(jì)信息
8、(2),進(jìn)程狀態(tài)的輸出字段總進(jìn)程數(shù)(total)正在運(yùn)行進(jìn)程數(shù)(running)睡眠的進(jìn)程數(shù)(sleeping)停止的進(jìn)程數(shù)(stopped)僵尸進(jìn)程數(shù)(zombie),2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),9,Tasks: 98 total, 2 running, 96 sleeping, 0 stopped,
9、0 zombie,僵尸進(jìn)程指的是子進(jìn)程退出后父進(jìn)程并沒(méi)有處理子進(jìn)程的退出信號(hào),導(dǎo)致子進(jìn)程變?yōu)榻┦M(jìn)程。,top命令輸出的統(tǒng)計(jì)信息(3),CPU使用率的輸出字段%us(user):用戶態(tài)進(jìn)程占用CPU百分比%sy(system):核心態(tài)進(jìn)程占用CPU百分比%ni(nice):調(diào)整過(guò)優(yōu)先級(jí)的用戶態(tài)進(jìn)程占用CPU時(shí)間的百分比%id(idel):CPU空閑的百分比%wa(iowait):等待系統(tǒng)I/O的CPU時(shí)間百分比%hi(har
10、d interrupt): CPU用于處理硬件中斷的時(shí)間百分比%si(soft interrupt): CPU用于處理軟中斷的時(shí)間百分比%st(steal):被虛擬機(jī)偷掉的CPU時(shí)間百分比(僅用于運(yùn)行虛擬機(jī)的情況),2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),10,Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0
11、%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st,交互命令 t 是用于是否顯示進(jìn)程狀態(tài)統(tǒng)計(jì)和CPU使用率的乒乓切換開(kāi)關(guān) 交互命令 1 是用于顯示所有CPU的平均狀態(tài)還是每個(gè)CPU狀態(tài)的乒乓切換開(kāi)關(guān),top命令輸出的統(tǒng)計(jì)信息(4),2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),11,Mem: 1025692k to
12、tal, 121072k used, 904620k free, 13236k buffersSwap: 2064376k total, 0k used, 2064376k free, 59436k cached,物理內(nèi)存總量,使用量,空閑量交換空間總量,使用量,空閑量,Buffers 指的是塊設(shè)備的讀寫(xiě)緩沖區(qū),Cached 指的是文件系統(tǒng)本身的頁(yè)面緩存,,buffers和cac
13、hed都是Linux操作系統(tǒng)底層的機(jī)制,目的就是為了加速對(duì)磁盤(pán)的訪問(wèn)。,交互命令 m 是用于是否顯示系統(tǒng)內(nèi)存和交換空間信息的乒乓切換開(kāi)關(guān),top命令輸出的進(jìn)程信息,PID(進(jìn)程號(hào)), USER(運(yùn)行用戶)PR(優(yōu)先級(jí)),NI(任務(wù)nice值)VIRT(虛擬內(nèi)存用量),RES(物理內(nèi)存用量),SHR(共享內(nèi)存用量)S(進(jìn)程狀態(tài))R=運(yùn)行;S=睡眠;T=跟蹤/停止;Z=僵尸%CPU(CPU占用比),%MEM(內(nèi)存占用比)TIME
14、+(累計(jì)CPU占用時(shí)間),2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),12,top的交互命令(1),或:立即刷新顯示?或h:顯示幫助信息屏幕G[1234]:可以使用G1~G4切換top提供的四種字段方案的顯示窗口B:加粗加亮顯示的乒乓切換開(kāi)關(guān)u:顯示指定用戶的進(jìn)程(僅匹配EUID)U:顯示指定用戶的進(jìn)程(匹配RUID、EUID、SUID
15、和UID)k:殺死指定的進(jìn)程(發(fā)送進(jìn)程信號(hào))r:重新設(shè)置一個(gè)進(jìn)程的優(yōu)先級(jí)別d或s:改變兩次刷新顯示之間的時(shí)間間隔,單位為秒W:將當(dāng)前的top設(shè)置寫(xiě)入~/.toprc文件中q:退出top,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),13,top的交互命令(2),多窗口顯示A:是否在一個(gè)界面中同時(shí)顯示四種字段方案顯示窗口的乒乓切換開(kāi)關(guān)a
16、和w:在四種字段方案的顯示窗口中移動(dòng)以確認(rèn)當(dāng)前窗口a表示下一個(gè)窗口w表示上一個(gè)窗口,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),14,top的交互命令(3),加亮顯示行和列x:是否對(duì)當(dāng)前排序字段進(jìn)行加亮顯示的乒乓切換開(kāi)關(guān)y:是否對(duì)當(dāng)前正在運(yùn)行進(jìn)程進(jìn)行加亮顯示的乒乓切換開(kāi)關(guān),2024年3月16日,曹重華(304960311@qq.com)
17、Creative Commons License(BY-NC-SA),15,top的交互命令(4),選擇排序字段快速選擇排序字段M:按 %MEM字段排序N:按 PID字段排序P:按 %CPU字段排序T:按 TIME+字段排序交互式選擇排序字段F 或 O切換排序字段和逆向排序R,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),16,
18、mpstat命令,功能:輸出每一個(gè) CPU 的運(yùn)行狀況,為多處理器系統(tǒng)中的 CPU 利用率提供統(tǒng)計(jì)信息。 格式: mpstat [ -P { cpu | ALL } ] [ interval [ count ] ]其中-P {cpu-id|ALL}:用CPU-ID指定CPU,CPU-ID從0開(kāi)始interval : 為取樣時(shí)間間隔count : 為輸出次數(shù),2024年3月16日,曹重華(304960311@qq.com) C
19、reative Commons License(BY-NC-SA),17,mpstat 命令舉例,# mpstatLinux 2.6.18-194.32.1.el5 (centos1.ls-al.me) 04/29/1112:56:27 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s12:56:27 all
20、 3.89 0.00 0.76 4.04 0.02 0.12 0.00 91.18 1050.99# mpstat -P 0Linux 2.6.18-194.32.1.el5 (centos1.ls-al.me) 04/29/1112:56:37 CPU %user %nice %sys %iowait %irq %soft %steal
21、 %idle intr/s12:56:37 0 3.86 0.00 0.75 4.01 0.02 0.12 0.00 91.24 1050.81# mpstat 5 10# mpstat –P 1 5 10,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),18
22、,vmstat命令,功能:顯示進(jìn)程隊(duì)列、內(nèi)存、交換空間、磁盤(pán)I/O、和CPU狀態(tài)信息。格式:vmstat [-a] [-n] [-S k|K|m|M] [Interval [ Count ]]其中:-a:顯示活躍和非活躍內(nèi)存-n:只在開(kāi)始時(shí)顯示一次各字段名稱-S:使用指定單位顯示。k(1000)、K(1024)、m(1000000)、M(1048576) 字節(jié),默認(rèn)單位為K。interval和count的含義與mpstat
23、一致,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),19,vmstat命令舉例,procsr 列表示運(yùn)行和等待CPU時(shí)間片的進(jìn)程數(shù),這個(gè)值若長(zhǎng)期大于系統(tǒng)CPU的個(gè)數(shù),說(shuō)明CPU資源不足。b 列表示在等待資源的進(jìn)程數(shù),比如正在等待I/O、或者內(nèi)存交換等。cpuus 列顯示了用戶態(tài)進(jìn)程消耗的CPU 時(shí)間百分比;sy 列顯示了核心態(tài)進(jìn)程消耗的CP
24、U時(shí)間百分比。us 的值比較高時(shí)說(shuō)明用戶進(jìn)程消耗的CPU時(shí)間多,sy 值較高時(shí)說(shuō)明內(nèi)核消耗的CPU資源很多。根據(jù)經(jīng)驗(yàn),us+sy 的參考值為80%,若 us+sy>80% 說(shuō)明可能存在CPU資源不足。,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),20,# vmstat 5 2procs -----------memory-------
25、--- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 504544 119328 236716 0 0 46 30 1036 52 1 0 97 2 0 0
26、0 0 504544 119336 236708 0 0 0 6 1002 28 0 0 100 0 0,vmstat命令舉例(續(xù)),memoryswpd 列表示切換到內(nèi)存交換區(qū)的內(nèi)存數(shù)量(以k為單位)。若 swpd 的值不為0,或者比較大,只要si、so的值長(zhǎng)期為0,這種情況下一般不用擔(dān)心,不會(huì)影響系統(tǒng)性能。free 列表示當(dāng)前空閑的物理內(nèi)存數(shù)量(以k為單位)。buff 列表示
27、 buffers cache 的內(nèi)存數(shù)量,一般對(duì)塊設(shè)備的讀寫(xiě)才需要緩沖。cache 列表示 page cached 的內(nèi)存數(shù)量,一般作為文件系統(tǒng)cached,頻繁訪問(wèn)的文件都會(huì)被 cached若cache值較大,說(shuō)明cached的文件數(shù)較多,如果此時(shí)IO中bi比較小,說(shuō)明文件系統(tǒng)效率比較好。,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),21,
28、# vmstat 5 2procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 504544 119328 236716 0 0
29、 46 30 1036 52 1 0 97 2 0 0 0 0 504544 119336 236708 0 0 0 6 1002 28 0 0 100 0 0,vmstat命令舉例(續(xù)2),swapsi 列表示由磁盤(pán)調(diào)入內(nèi)存,也就是內(nèi)存進(jìn)入內(nèi)存交換區(qū)的數(shù)量。so 列表示由內(nèi)存調(diào)入磁盤(pán),也就是內(nèi)存交換區(qū)進(jìn)入內(nèi)存的數(shù)量。一般情況下,si、so的值都為0,
30、如果si、so的值長(zhǎng)期不為0,則表示系統(tǒng)內(nèi)存不足。,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),22,# vmstat 5 2procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff
31、cache si so bi bo in cs us sy id wa st 0 0 0 504544 119328 236716 0 0 46 30 1036 52 1 0 97 2 0 0 0 0 504544 119336 236708 0 0 0 6 1002 28 0 0 100 0 0,io
32、stat命令,功能:輸出CPU和磁盤(pán)I/O相關(guān)的統(tǒng)計(jì)信息。 格式:iostat [-c|-d] [-x] [-k|-m] [ device | ALL ] [ interval [ count ] ]其中:-c:僅顯示CPU統(tǒng)計(jì)信息。與-d選項(xiàng)互斥-d:僅顯示磁盤(pán)統(tǒng)計(jì)信息。與-c選項(xiàng)互斥-k:以KB為單位顯示每秒的磁盤(pán)請(qǐng)求數(shù)。默認(rèn)單位為塊-m:以MB為單位顯示每秒的磁盤(pán)請(qǐng)求數(shù)。默認(rèn)單位為塊-x:輸出擴(kuò)展信息device
33、:用于指定磁盤(pán)設(shè)備interval和count的含義與mpstat一致,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),23,iostat命令舉例(1),tps:每秒鐘物理設(shè)備的I/O傳輸總量長(zhǎng)期的、超大的數(shù)據(jù)讀寫(xiě),肯定是不正常的,這種情況一定會(huì)影響系統(tǒng)性能。,2024年3月16日,曹重華(304960311@qq.com) Creative C
34、ommons License(BY-NC-SA),24,# iostat -d sda sda3 5 2Linux 2.6.18-194.32.1.el5 (centos1.ls-al.me) 2011年04月29日Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsda 4.61 51.09
35、 39.21 577048 442878sda3 4.07 44.89 39.00 507088 440552Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsda 0.41 0.00
36、 16.33 0 80sda3 0.41 0.00 16.33 0 80,iostat命令舉例(2),rrqm/s:每秒發(fā)送到設(shè)備的讀入請(qǐng)求數(shù)。wrqm/s:每秒發(fā)送到設(shè)備的寫(xiě)入請(qǐng)求數(shù)。avgrq-sz:發(fā)送到設(shè)備的請(qǐng)求的平均大小。avgqu-sz:發(fā)送到設(shè)備的請(qǐng)求的平均隊(duì)列長(zhǎng)度。await:表示平均每
37、次設(shè)備I/O操作的等待時(shí)間(以毫秒為單位)。svctm:表示平均每次設(shè)備I/O操作的服務(wù)時(shí)間(以毫秒為單位)。%util:表示一秒中有百分之幾的時(shí)間用于 I/O 操作。,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),25,# iostat -dxk sda sda3Linux 2.6.18-194.32.1.el5 (centos1.ls-a
38、l.me) 2011年04月29日Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %utilsda 0.75 2.44 2.18 2.10 23.58 18.31 19.59 0.40 93.52 2.53 1.08sda3
39、 0.28 2.42 1.70 2.09 20.72 18.21 20.58 0.40 105.24 2.52 0.95,iostat命令舉例(2續(xù)),正常情況下 svctm 應(yīng)該小于 await 的值svctm 的大小和磁盤(pán)性能有關(guān)CPU、內(nèi)存的負(fù)荷也會(huì)對(duì) svctm 值造成影響過(guò)多的磁盤(pán)請(qǐng)求也會(huì)間接的導(dǎo)致 svctm 值的增加await 的大小一般取決與 svctm 的
40、值和I/O隊(duì)列長(zhǎng)度以及I/O請(qǐng)求模式如果 svctm 的值與 await 很接近,表示幾乎沒(méi)有I/O等待,磁盤(pán)性能很好如果 await 的值遠(yuǎn)高于 svctm 的值,則表示I/O隊(duì)列等待太長(zhǎng),系統(tǒng)上運(yùn)行的應(yīng)用程序?qū)⒆兟?,此時(shí)可以通過(guò)更換更快的硬盤(pán)來(lái)解決問(wèn)題。%util 項(xiàng)的值也是衡量磁盤(pán)I/O的一個(gè)重要指標(biāo)如果 %util 接近 100%,表示磁盤(pán)產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷的在工作,該磁盤(pán)可能存在瓶頸。,2024
41、年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),26,# iostat -dxk sda sda3Linux 2.6.18-194.32.1.el5 (centos1.ls-al.me) 2011年04月29日Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz
42、 await svctm %utilsda 0.75 2.44 2.18 2.10 23.58 18.31 19.59 0.40 93.52 2.53 1.08sda3 0.28 2.42 1.70 2.09 20.72 18.21 20.58 0.40 105.24 2.52 0.95,Sy
43、sstat——sar與sadc,sar(System Activity Reporter)是系統(tǒng)活動(dòng)情況報(bào)告的縮寫(xiě)sar是目前Linux上最為全面的系統(tǒng)性能分析工具之一,可以從多方面對(duì)系統(tǒng)的活動(dòng)進(jìn)行報(bào)告文件的讀寫(xiě)情況、系統(tǒng)調(diào)用的使用情況、磁盤(pán)I/O、CPU效率、內(nèi)存使用狀況、進(jìn)程活動(dòng)及IPC有關(guān)的活動(dòng)等sadc(System activity data collector )是系統(tǒng)活動(dòng)數(shù)據(jù)收集系統(tǒng)的縮寫(xiě)收集的數(shù)據(jù)被寫(xiě)入一個(gè)二進(jìn)制
44、的文件中( /var/log/sa/saDD )它被用做sar工具的后端,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),27,sar的運(yùn)作機(jī)制,守護(hù)進(jìn)程 /etc/init.d/sysstat每次開(kāi)機(jī)重置系統(tǒng)活動(dòng)日志Cron任務(wù) /etc/cron.d/sysstat每隔10分鐘執(zhí)行一次/usr/lib/sa/sa1 1 1命令,將信息寫(xiě)入
45、文件/var/log/sa/saDD每天23:53執(zhí)行一次/usr/lib/sa/sa2 -A 命令,將當(dāng)天的匯總信息寫(xiě)入文件/var/log/sa/saDD,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),28,sar命令,懷疑CPU存在瓶頸可用sar -u和sar -q來(lái)查看。懷疑內(nèi)存存在瓶頸可用sar -B、sar -r和sar -W來(lái)
46、查看。懷疑I/O存在瓶頸可用sar -b、sar -u和sar -d來(lái)查看。懷疑網(wǎng)絡(luò)存在瓶頸可用sar -n DEV 和 sar -n EDEV來(lái)查看。,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),29,系統(tǒng)性能評(píng)估,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-
47、NC-SA),30,%user:表示CPU處在用戶模式下的時(shí)間百分比。%sys:表示CPU處在系統(tǒng)模式下的時(shí)間百分比。%iowait:表示CPU等待輸入輸出完成時(shí)間的百分比。swap in:即si,表示虛擬內(nèi)存的頁(yè)導(dǎo)入,即從SWAP DISK交換到RAM。swap out:即so,表示虛擬內(nèi)存的頁(yè)導(dǎo)出,即從RAM交換到SWAP DISK。,網(wǎng)絡(luò)性能評(píng)估工具,nloadmonitor network traffic and ba
48、ndwidth usage http://www.roland-riegel.de/nload/EPEL倉(cāng)庫(kù)提供RPM包iftopdisplay bandwidth usage on an interfacehttp://www.ex-parrot.com/~pdw/iftop/EPEL倉(cāng)庫(kù)提供RPM包iptrafIP Network Statistics Utilityhttp://iptraf.seul.org/,
49、2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),31,管理Linux內(nèi)核,,2024年3月16日,32,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),影響系統(tǒng)性能的因素,影響系統(tǒng)性能的因素眾多硬件CPU內(nèi)存IO總線等操作系統(tǒng)內(nèi)核子系統(tǒng)驅(qū)動(dòng)模塊等應(yīng)用程序系統(tǒng)調(diào)優(yōu)是一項(xiàng)
50、非常復(fù)雜的任務(wù),2024年3月16日,33,梁如軍(linuxbooks@126.com)Creative Commons License(BY-NC-SA),曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),Linux內(nèi)核子系統(tǒng),處理器子系統(tǒng)(Processor)內(nèi)存子系統(tǒng)(Memory)輸入輸出子系統(tǒng)(I/O)文件系統(tǒng)子系統(tǒng)(File System)網(wǎng)絡(luò)子系統(tǒng)
51、(Network),2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),34,Linux內(nèi)核功能,啟動(dòng)管理:在系統(tǒng)初始化過(guò)程中檢測(cè)硬件、加載驅(qū)動(dòng)并引導(dǎo)系統(tǒng)。進(jìn)程調(diào)度:負(fù)責(zé)控制進(jìn)程對(duì)CPU的使用。進(jìn)程通信:提供了進(jìn)程之間的各種通信機(jī)制。內(nèi)存管理:負(fù)責(zé)管理多個(gè)進(jìn)程對(duì)內(nèi)存的使用。文件系統(tǒng):使用虛擬文件系統(tǒng)中間層支持多種不同類(lèi)型的文件系統(tǒng)。設(shè)備管理:為
52、設(shè)備提供緩沖和緩存以提高硬件的訪問(wèn)速度。網(wǎng)絡(luò)接口:對(duì)各種網(wǎng)絡(luò)標(biāo)準(zhǔn)的存取和各種網(wǎng)絡(luò)硬件的支持。安全管理:校驗(yàn)文件系統(tǒng)權(quán)限、SELinux 環(huán)境和防火墻規(guī)則。,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),35,顯示內(nèi)核相關(guān)的信息,顯示系統(tǒng)內(nèi)核信息 uname -srvmocat /proc/version 顯示系統(tǒng)架構(gòu) arch顯示 L
53、SB (Linux Standard Base) 和發(fā)布信息(Distribution information) lsb_release -a # 適用于所有的 Linux 發(fā)行顯示 Linux 發(fā)布版本(僅用于 RedHat 系列) cat /etc/redhat-releaserpm -q {redhat,centos}-release,2024年3月16日,曹重華(304960311@qq.com) Creative
54、Commons License(BY-NC-SA),36,虛擬文件系統(tǒng) /proc,虛擬文件系統(tǒng) /proc是在Linux啟動(dòng)時(shí)掛載到根文件系統(tǒng)上的,它是內(nèi)存的一部分而并非真正存儲(chǔ)在硬盤(pán)上。重啟系統(tǒng)后上次的修改會(huì)被重新初始化使用/proc的目的就是將Linux的內(nèi)核數(shù)據(jù)以目錄或文件的形式呈現(xiàn)給用戶或應(yīng)用程序,以便查看內(nèi)核信息或臨時(shí)修改內(nèi)核功能。顯示進(jìn)程信息、內(nèi)存資源、硬件設(shè)備、內(nèi)核內(nèi)存等修改網(wǎng)絡(luò)、內(nèi)存子系統(tǒng)等內(nèi)核屬性,修改立即生
55、效,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),37,/proc 示例,只讀文件 /proc/1/* /proc/cpuinfo /proc/meminfo /proc/partitions /proc/sys/ 下的讀寫(xiě)文件 /proc/sys/kernel/hostname /proc/sys/net/ipv4/ip_forwa
56、rd/proc/sys/vm/drop_caches /proc/sys/vm/swappiness,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),38,sysctl : 持久的內(nèi)核配置,sysctl 使 /proc/sys 設(shè)置具有持久性 重新引導(dǎo)后,在 /etc/sysctl.conf 中添加的配置會(huì)自動(dòng)體現(xiàn)在 /proc 中 使用sy
57、sctl命令進(jìn)行配置維護(hù)或監(jiān)控: 列出所有當(dāng)前設(shè)置: # sysctl -a從sysctl.conf中重新裝載: # sysctl -p設(shè)定一個(gè)動(dòng)態(tài) /proc 值: # sysctl -w net.ipv4.ip_forward=1,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),39,Web服務(wù)器的優(yōu)化,,2024年3月16日,40,
58、曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),Web服務(wù)器的優(yōu)化,硬件選擇——選擇當(dāng)前主流的服務(wù)器至少選擇8核(2.4G)以上的CPU、8G以上的內(nèi)存基于SAS或固態(tài)硬盤(pán)的RAID1或RAID10的服務(wù)器合理設(shè)置文件打開(kāi)數(shù)目基本的內(nèi)核調(diào)優(yōu)TCP/IP網(wǎng)絡(luò)性能調(diào)優(yōu)TCP/IP網(wǎng)絡(luò)安全調(diào)優(yōu)使用tmpfs文件系統(tǒng)加速Web緩存,2024年3月16日,曹重華(30
59、4960311@qq.com) Creative Commons License(BY-NC-SA),41,設(shè)置打開(kāi)文件數(shù)(1),設(shè)置Linux內(nèi)核分配的文件句柄的最大數(shù)量/proc/sys/fs/file-max 設(shè)置Linux內(nèi)核將分配的文件句柄的最大數(shù)量。檢查 file-max 參數(shù)的默認(rèn)配置cat /proc/sys/fs/file-maxsysctl -a 2> /dev/null |grep fs.file-m
60、ax調(diào)整 /proc/sys/fs/file-max ,合理的設(shè)置是每 4M 內(nèi)存設(shè)置 256:例如: 8 GB 內(nèi)存的機(jī)器, 可以設(shè)置成 524288 (8*1024/4=2048, 2048*256=524288).,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),42,設(shè)置打開(kāi)文件數(shù)(2),使用 POSIX 資源限制用戶的打開(kāi)文件數(shù)#
61、cat >> /etc/security/limits.conf << EOF* soft nofile65535* hard nofile 102400EOF,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),43,管理 TCP/IP 資源管理 buffer-s
62、pace 資源管理 buffer-size 資源管理TCP 錯(cuò)誤重試次數(shù),TCP/IP 網(wǎng)絡(luò)調(diào)優(yōu),2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),44,管理 TCP/IP 資源,# Turn on the tcp_window_scaling supportnet.ipv4.tcp_window_scaling = 1# Turn on th
63、e tcp_sack supportnet.ipv4.tcp_sack = 1# Turn off the tcp_timestamps supportnet.ipv4.tcp_timestamps = 0# Decrease the time default value for tcp_fin_timeout connectionnet.ipv4.tcp_fin_timeout = 10,2024年3月16日,曹重華(3
64、04960311@qq.com) Creative Commons License(BY-NC-SA),45,管理 TCP/IP 資源(續(xù)),# Decrease the time default value for tcp_keepalive_time connectionnet.ipv4.tcp_keepalive_time = 1800 net.ipv4.tcp_keepalive_probes = 30 n
65、et.ipv4.tcp_keepalive_intvl = 3,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),46,Backlog是socket的監(jiān)聽(tīng)隊(duì)列當(dāng)一個(gè)請(qǐng)求(request)尚未被處理或建立時(shí),他會(huì)進(jìn)入backlog。而socket server可以一次性處理backlog中的所有請(qǐng)求,處理后的請(qǐng)求不再位于監(jiān)聽(tīng)隊(duì)列中。當(dāng)服務(wù)器處理請(qǐng)求
66、較慢,以至于監(jiān)聽(tīng)隊(duì)列被填滿后,新來(lái)的請(qǐng)求會(huì)被拒絕。net.core.somaxconn指定監(jiān)聽(tīng)的backlog上限(同時(shí)發(fā)起的TCP連接數(shù))。net.core.netdev_max_backlog當(dāng)每個(gè)網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時(shí),允許發(fā)送到Backlog隊(duì)列的數(shù)據(jù)包的最大數(shù)目。,管理backlog,2024年3月16日,曹重華(304960311@qq.com) Creative Commons Lice
67、nse(BY-NC-SA),47,內(nèi)核為T(mén)CP/IP協(xié)議分配的三個(gè)TCP緩沖區(qū)空間參數(shù)net.ipv4.tcp_mem內(nèi)核分配給TCP連接的總內(nèi)存,單位是Page1 Page = 4096 Bytes(getconf PAGESIZE)net.ipv4.tcp_rmem為每個(gè)TCP連接分配的讀緩沖區(qū)內(nèi)存大小,單位是Bytenet.ipv4.tcp_wmem為每個(gè)TCP連接分配的寫(xiě)緩沖區(qū)內(nèi)存大小,單位是Byte,管理 buf
68、fer-space 資源,2024年3月16日,曹重華(304960311@qq.com) Creative Commons License(BY-NC-SA),48,第一個(gè)參數(shù)當(dāng) tcp 使用的 page 少于 364896 時(shí),kernel 不對(duì)其進(jìn)行任何的干預(yù)第二個(gè)參數(shù)當(dāng) tcp 使用了超過(guò) 486528 的 pages 時(shí),kernel 會(huì)進(jìn)入 “memory pressure” 壓力模式第三個(gè)參數(shù)當(dāng) tcp 使用的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于日志分析的網(wǎng)絡(luò)監(jiān)視系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- [11]第5章 泌尿生殖系統(tǒng)
- 第11章電子商務(wù)應(yīng)用技術(shù)與系統(tǒng)
- 第11章繼電接觸控制系統(tǒng)
- 第11章控制系統(tǒng)的狀態(tài)空間分析
- 第1章-系統(tǒng)與系統(tǒng)工程
- 《信號(hào)與系統(tǒng)》第1章
- 閉路監(jiān)視系統(tǒng)介紹
- 信號(hào)與系統(tǒng)第4章答案
- 第11章 文件
- 200710第9章造血系統(tǒng)與淋巴系統(tǒng)病理
- 自動(dòng)相關(guān)監(jiān)視與防撞系統(tǒng).pdf
- 第11章 文件
- 第11章.doc
- 第11章齒輪
- 第11章 軟件保護(hù)技術(shù) 第11章 軟件保護(hù)技術(shù)
- 第10章_淋巴系統(tǒng)
- 第13章中斷系統(tǒng)
- 第1章離散時(shí)間信號(hào)與系統(tǒng)
- 信號(hào)與系統(tǒng)第5章習(xí)題答案
評(píng)論
0/150
提交評(píng)論