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