Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)
Linux操作系統(tǒng)的基礎(chǔ)知識(shí)并不是很難理解,熟悉掌握基礎(chǔ)知識(shí)能更好的學(xué)習(xí)Linux。下面由學(xué)習(xí)啦小編為大家整理了Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)的相關(guān)知識(shí),希望對大家有幫助!
Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)1.操作系統(tǒng)總體介紹
•CPU: 就像人的大腦,主要負(fù)責(zé)相關(guān)事情的判斷以及實(shí)際處理的機(jī)制。
查詢指令: cat /proc/cpuinfo
•內(nèi)存: 大腦中的記憶區(qū)塊,將皮膚、眼睛等所收集到的信息記錄起來的地方,以供CPU進(jìn)行判斷。查詢指令: cat /proc/meminfo
物理內(nèi)存
物理內(nèi)存,就是我們將內(nèi)存條插在主板內(nèi)存槽上的內(nèi)存條的容量的大小??从?jì)算機(jī)配置的時(shí)候,主要看的就是這個(gè)物理內(nèi)存
虛擬內(nèi)存
Windows中運(yùn)用了虛擬內(nèi)存技術(shù),即拿出一部分硬盤空間來充當(dāng)內(nèi)存使用,當(dāng)內(nèi)存占用完時(shí),電腦就會(huì)自動(dòng)調(diào)用硬盤來充當(dāng)內(nèi)存,以緩解內(nèi)存的緊張。
關(guān)系:windows中虛擬內(nèi)存和物理內(nèi)存可能都會(huì)被使用,Linux中,只有物理內(nèi)存使用完了,才會(huì)使用虛擬內(nèi)存
•硬盤: 大腦中的記憶區(qū)塊,將重要的數(shù)據(jù)記錄起來,以便未來再次使用這些數(shù)據(jù)。
查詢指令: fdisk -l (需要root權(quán)限)
Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)2.內(nèi)存和硬盤的關(guān)系
具體命令后面會(huì)介紹
Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)3.操作系統(tǒng)監(jiān)控命令>單獨(dú)寫一份
•vmstat
•sar
•iostat
•top
•free
•uptime
•netstat
•ps
•strace
•lsof
Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)4.如何分析操作系統(tǒng)
實(shí)際流程: 讀數(shù)據(jù)》數(shù)據(jù)>硬盤》虛擬內(nèi)存(swaP)》內(nèi)存》cpu緩存》執(zhí)行隊(duì)列
分析方向,正好相反
Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)4.各個(gè)部分常出現(xiàn)的漏洞
•CPU: 容易出現(xiàn)該類瓶頸的郵件服務(wù)器、動(dòng)態(tài)web服務(wù)器
•內(nèi)存: 容易出現(xiàn)該類瓶頸的打印服務(wù)器、數(shù)據(jù)庫服務(wù)器、靜態(tài)web服務(wù)器
•磁盤I/O: 頻繁讀寫操作的項(xiàng)目
•網(wǎng)絡(luò)帶寬: 頻繁大量上傳下載項(xiàng)目
Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)5.linux本身的一些優(yōu)化
1. 系統(tǒng)安裝優(yōu)化
當(dāng)安裝linux系統(tǒng)時(shí),磁盤劃分、 SWAP內(nèi)存的分配都直接影響系統(tǒng)性能。對于虛擬內(nèi)存SWAP的設(shè)定,現(xiàn)在已經(jīng)沒有了所謂虛擬內(nèi)存是物理內(nèi)存兩倍的要求,但是根據(jù)經(jīng)驗(yàn),如果內(nèi)存較小(物理內(nèi)存小于4GB),一般設(shè)置SWAP交換分區(qū)大小為內(nèi)存的2倍;如果物理內(nèi)存大約4GB小于16GB,可以設(shè)置SWAP大小等于或者略小于物理內(nèi)存即可;如果內(nèi)存在16GB以上,原則上可以設(shè)置SWAP為0,但最好設(shè)置一定大小的SWAP
• 2. 內(nèi)核參數(shù)優(yōu)化
例如,如果系統(tǒng)部署的Oracle數(shù)據(jù)庫應(yīng)用,那么就需要對系統(tǒng)共享內(nèi)存段( kernel.shmmax, kenerl.shmmni, kernel.shmall)、
系統(tǒng)信號(hào)量( kernel.sem)、文件句柄( fs.file0max)等參數(shù)進(jìn)行優(yōu)化設(shè)置;如果部署的WEB應(yīng)用,那么就需要根據(jù)web應(yīng)用特性進(jìn)行網(wǎng)絡(luò)參數(shù)的優(yōu)化,例如修改net.ipv4.ip_local_port_range、net.ipv4.tc_tw_reuse、 net.core.somaxconn等網(wǎng)絡(luò)
內(nèi)核參數(shù)
• 3. 文件系統(tǒng)優(yōu)化
在linux下可選的文件系統(tǒng)有ext2,、 ext3、 xfs、 ReiserFS
linux標(biāo)準(zhǔn)文件系統(tǒng)是從VFS開始,然后ext、 ext2, ext2是linux上的標(biāo)準(zhǔn)文件系統(tǒng), ext3是在ext2基礎(chǔ)上增加日志形成的。從VFS到ext3,設(shè)計(jì)思想沒有太大變化,都是早期UNIX家族基于超級塊和inode的設(shè)計(jì)理念設(shè)計(jì)而成。XFS文件系統(tǒng)是SGI開發(fā)的一個(gè)高級日志文件系統(tǒng),通過分布處理磁盤請求、定位數(shù)據(jù)、保持cache的一致性來提供對文件系統(tǒng)數(shù)據(jù)的低延遲、高帶寬的訪問,因此XFS極具伸縮性,非常健壯,具有優(yōu)秀的日志記錄功能、可擴(kuò)展性強(qiáng)、快速寫入等優(yōu)點(diǎn)。ReiserFS在Hans Reiser領(lǐng)導(dǎo)下開發(fā)出來的一款高性能的日志文件系統(tǒng),通過完全平衡樹來管理數(shù)據(jù),包括文件數(shù)據(jù)、文件名及日志支持等。與ext2、 ext3相比,最大的優(yōu)點(diǎn)是訪問性能和安全性大幅提升。具有高效、合理利用磁盤空間,先將的日志管理機(jī)制,特意的搜尋方式,海量磁盤存儲(chǔ)等優(yōu)點(diǎn)
Linux操作系統(tǒng)的知識(shí)點(diǎn)總結(jié)5.重點(diǎn)知識(shí)
物理內(nèi)存和虛擬內(nèi)存
1.如何查看物理內(nèi)存和虛擬內(nèi)存?
Top 命令可以查看物理內(nèi)存和虛擬內(nèi)存的數(shù)值
2.Buffer
是硬盤控制器上的一塊內(nèi)存芯片,具有極快的存取速度,它是硬盤內(nèi)部存儲(chǔ)和外界接口之間的緩沖器。由于硬盤的內(nèi)部數(shù)據(jù)傳輸速度和外界介面?zhèn)鬏斔俣炔煌?,緩存在其中起到一個(gè)緩沖的作用。緩存的大小與速度是直接關(guān)系到硬盤的傳輸速度的重要因素,能夠大幅度地提高硬盤整體性能。
3.Cache
CPU緩存(Cache Memory)是位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小的多但是交換速度卻比內(nèi)存要快得多。緩存的出現(xiàn)主要是為了解決CPU運(yùn)算速度與內(nèi)存讀寫速度不匹配的矛盾,因?yàn)镃PU運(yùn)算速度要比內(nèi)存讀寫速度快很多,這樣會(huì)使CPU花費(fèi)很長時(shí)間等待數(shù)據(jù)到來或把數(shù)據(jù)寫入內(nèi)存。在緩存中的數(shù)據(jù)是內(nèi)存中的一小部分,但這一小部分是短時(shí)間內(nèi)CPU即將訪問的,當(dāng)CPU調(diào)用大量數(shù)據(jù)時(shí),就可避開內(nèi)存直接從緩存中調(diào)用,從而加快讀取速度
4.CPU中斷
當(dāng)CPU執(zhí)行完一條現(xiàn)行指令時(shí),如果外設(shè)向CPU發(fā)出中斷請求,那么CPU在滿足響應(yīng)的情況下,將發(fā)出中斷響應(yīng)信號(hào),與此同時(shí)關(guān)閉中斷,表示CPU不在受理另外一個(gè)設(shè)備的中斷。這時(shí),CPU將尋找中斷請求源是哪一個(gè)設(shè)備,并保存CPU自己的程序計(jì)數(shù)器(PC)的內(nèi)容。然后,他將轉(zhuǎn)移到處理該中斷源的中斷服務(wù)程序。CPU在保存現(xiàn)場信息,設(shè)備服務(wù)(如交換數(shù)據(jù))以后,將恢復(fù)現(xiàn)場信息。在這些動(dòng)作完成以后,開放中斷,并返回到原來被中斷的主程序的下一條指令。
5.上下文切換
上下文切換(Context Switch) 或者環(huán)境切換
多任務(wù)系統(tǒng)中,上下文切換是指CPU的控制權(quán)由運(yùn)行任務(wù)轉(zhuǎn)移到另外一個(gè)就緒任務(wù)時(shí)所發(fā)生的事件。
在操作系統(tǒng)中,CPU切換到另一個(gè)進(jìn)程需要保存當(dāng)前進(jìn)程的狀態(tài)并恢復(fù)另一個(gè)進(jìn)程的狀態(tài):當(dāng)前運(yùn)行任務(wù)轉(zhuǎn)為就緒(或者掛起、刪除)狀態(tài),另一個(gè)被選定的就緒任務(wù)成為當(dāng)前任務(wù)。上下文切換包括保存當(dāng)前任務(wù)的運(yùn)行環(huán)境,恢復(fù)將要運(yùn)行任務(wù)的運(yùn)行環(huán)境。
進(jìn)程上下文用進(jìn)程的PCB(進(jìn)程控制塊,也稱為PCB,即任務(wù)控制塊)表示,它包括進(jìn)程狀態(tài),CPU寄存器的值等。
通常通過執(zhí)行一個(gè)狀態(tài)保存來保存CPU當(dāng)前狀態(tài),然后執(zhí)行一個(gè)狀態(tài)恢復(fù)重新開始運(yùn)行。
上下文切換會(huì)對性能造成負(fù)面影響。然而,一些上下文切換相對其他切換而言更加昂貴;其中一個(gè)更昂貴的上下文切換是跨核上下文切換(Cross-Core Context Switch)。一個(gè)線程可以運(yùn)行在一個(gè)專用處理器上,也可以跨處理器。由單個(gè)處理器服務(wù)的線程都有處理器關(guān)聯(lián)(Processor Affinity),這樣會(huì)更加有效。在另一個(gè)處理器內(nèi)核搶占和調(diào)度線程會(huì)引起緩存丟失,作為緩存丟失和過度上下文切換的結(jié)果要訪問本地內(nèi)存??傊?,這稱為“跨核上下文切換”。
6.進(jìn)程和線程
進(jìn)程概念
進(jìn)程是表示資源分配的基本單位,又是調(diào)度運(yùn)行的基本單位。例如,用戶運(yùn)行自己的程序,系統(tǒng)就創(chuàng)建一個(gè)進(jìn)程,并為它分配資源,包括各種表格、內(nèi)存空間、磁盤空間、I/O設(shè)備等。然后,把該進(jìn)程放人進(jìn)程的就緒隊(duì)列。進(jìn)程調(diào)度程序選中它,為它分配CPU以及其它有關(guān)資源,該進(jìn)程才真正運(yùn)行。所以,進(jìn)程是系統(tǒng)中的并發(fā)執(zhí)行的單位。
線程概念
線程是進(jìn)程中執(zhí)行運(yùn)算的最小單位,亦即執(zhí)行處理機(jī)調(diào)度的基本單位。如果把進(jìn)程理解為在邏輯上操作系統(tǒng)所完成的任務(wù),那么線程表示完成該任務(wù)的許多可能的子任務(wù)之一
進(jìn)程和線程的關(guān)系
(1)一個(gè)線程只能屬于一個(gè)進(jìn)程,而一個(gè)進(jìn)程可以有多個(gè)線程,但至少有一個(gè)線程。 (2)資源分配給進(jìn)程,同一進(jìn)程的所有線程共享該進(jìn)程的所有資源。
(3)處理機(jī)分給線程,即真正在處理機(jī)上運(yùn)行的是線程。
(4)線程在執(zhí)行過程中,需要協(xié)作同步。不同進(jìn)程的線程間要利用消息通信的辦法實(shí)現(xiàn)同步。