㈠ linux內核優化參數
cat >> /etc/sysctl.conf << EOF
# kernel optimization
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
EOF # 《Linux就該這么學》
將上面的內核參數加入/etc/sysctl.conf文件中,執行如下命令使之生效:
sysctl -p
㈡ Linux操作系統的知識點總結
Linux操作系統的基礎知識並不是很難理解,熟悉掌握基礎知識能更好的學習Linux。下面由我為大家整理了Linux操作系統的知識點總結的相關知識,希望對大家有幫助!
Linux操作系統的知識點總結1.操作系統總體介紹
•CPU: 就像人的大腦,主要負責相關事情的判斷以及實際處理的機制。
查詢指令: cat /proc/cpuinfo
•內存: 大腦中的記憶區塊,將皮膚、眼睛等所收集到的信息記錄起來的地方,以供CPU進行判斷。查詢指令: cat /proc/meminfo
物理內存
物理內存,就是我們將內存條插在主板內存槽上的內存條的容量的大小。看計算機配置的時候,主要看的就是這個物理內存
虛擬內存
Windows中運用了虛擬內存技術,即拿出一部分硬碟空間來充當內存使用,當內存佔用完時,電腦就會自動調用硬碟來充當內存,以緩解內存的緊張。
關系:windows中虛擬內存和物理內存可能都會被使用,Linux中,只有物理內存使用完了,才會使用虛擬內存
•硬碟: 大腦中的記憶區塊,將重要的數據記錄起來,以便未來再次使用這些數據。
查詢指令: fdisk -l (需要root許可權)
Linux操作系統的知識點總結2.內存和硬碟的關系
具體命令後面會介紹
Linux操作系統的知識點總結3.操作系統監控命令>單獨寫一份
•vmstat
•sar
•iostat
•top
•free
•uptime
•netstat
•ps
•strace
•lsof
Linux操作系統的知識點總結4.如何分析操作系統
實際流程: 讀數據》數據>硬碟》虛擬內存(swaP)》內存》cpu緩存》執行隊列
分析方向,正好相反
Linux操作系統的知識點總結4.各個部分常出現的漏洞
•CPU: 容易出現該類瓶頸的郵件伺服器、動態web伺服器
•內存: 容易出現該類瓶頸的列印伺服器、資料庫伺服器、靜態web伺服器
•磁碟I/O: 頻繁讀寫操作的項目
•網路帶寬: 頻繁大量上傳下載項目
Linux操作系統的知識點總結5.linux本身的一些優化
1. 系統安裝優化
當安裝linux系統時,磁碟劃分、 SWAP內存的分配都直接影響系統性能。對於虛擬內存SWAP的設定,現在已經沒有了所謂虛擬內存是物理內存兩倍的要求,但是根據經驗,如果內存較小(物理內存小於4GB),一般設置SWAP交換分區大小為內存的2倍;如果物理內存大約4GB小於16GB,可以設置SWAP大小等於或者略小於物理內存即可;如果內存在16GB以上,原則上可以設置SWAP為0,但最好設置一定大小的SWAP
• 2. 內核參數優化
例如,如果系統部署的Oracle資料庫應用,那麼就需要對系統共享內存段( kernel.shmmax, kenerl.shmmni, kernel.shmall)、
系統信號量( kernel.sem)、文件句柄( fs.file0max)等參數進行優化設置;如果部署的WEB應用,那麼就需要根據web應用特性進行網路參數的優化,例如修改net.ipv4.ip_local_port_range、net.ipv4.tc_tw_reuse、 net.core.somaxconn等網路
內核參數
• 3. 文件系統優化
在linux下可選的文件系統有ext2,、 ext3、 xfs、 ReiserFS
linux標准文件系統是從VFS開始,然後ext、 ext2, ext2是linux上的標准文件系統, ext3是在ext2基礎上增加日誌形成的。從VFS到ext3,設計思想沒有太大變化,都是早期UNIX家族基於超級塊和inode的設計理念設計而成。XFS文件系統是SGI開發的一個高級日誌文件系統,通過分布處理磁碟請求、定位數據、保持cache的一致性來提供對文件系統數據的低延遲、高帶寬的訪問,因此XFS極具伸縮性,非常健壯,具有優秀的日誌記錄功能、可擴展性強、快速寫入等優點。ReiserFS在Hans Reiser領導下開發出來的一款高性能的日誌文件系統,通過完全平衡樹來管理數據,包括文件數據、文件名及日誌支持等。與ext2、 ext3相比,最大的優點是訪問性能和安全性大幅提升。具有高效、合理利用磁碟空間,先將的日誌管理機制,特意的搜尋方式,海量磁碟存儲等優點
Linux操作系統的知識點總結5.重點知識
物理內存和虛擬內存
1.如何查看物理內存和虛擬內存?
Top 命令可以查看物理內存和虛擬內存的數值
2.Buffer
是硬碟控制器上的一塊內存晶元,具有極快的存取速度,它是硬碟內部存儲和外界介面之間的緩沖器。由於硬碟的內部數據傳輸速度和外界介面傳輸速度不同,緩存在其中起到一個緩沖的作用。緩存的大小與速度是直接關繫到硬碟的傳輸速度的重要因素,能夠大幅度地提高硬碟整體性能。
3.Cache
CPU緩存(Cache Memory)是位於CPU與內存之間的臨時存儲器,它的容量比內存小的多但是交換速度卻比內存要快得多。緩存的出現主要是為了解決CPU運算速度與內存讀寫速度不匹配的矛盾,因為CPU運算速度要比內存讀寫速度快很多,這樣會使CPU花費很長時間等待數據到來或把數據寫入內存。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度
4.CPU中斷
當CPU執行完一條現行指令時,如果外設向CPU發出中斷請求,那麼CPU在滿足響應的情況下,將發出中斷響應信號,與此同時關閉中斷,表示CPU不在受理另外一個設備的中斷。這時,CPU將尋找中斷請求源是哪一個設備,並保存CPU自己的程序計數器(PC)的內容。然後,他將轉移到處理該中斷源的中斷服務程序。CPU在保存現場信息,設備服務(如交換數據)以後,將恢復現場信息。在這些動作完成以後,開放中斷,並返回到原來被中斷的主程序的下一條指令。
5.上下文切換
上下文切換(Context Switch) 或者環境切換
多任務系統中,上下文切換是指CPU的控制權由運行任務轉移到另外一個就緒任務時所發生的事件。
在操作系統中,CPU切換到另一個進程需要保存當前進程的狀態並恢復另一個進程的狀態:當前運行任務轉為就緒(或者掛起、刪除)狀態,另一個被選定的就緒任務成為當前任務。上下文切換包括保存當前任務的運行環境,恢復將要運行任務的運行環境。
進程上下文用進程的PCB(進程式控制制塊,也稱為PCB,即任務控制塊)表示,它包括進程狀態,CPU寄存器的值等。
通常通過執行一個狀態保存來保存CPU當前狀態,然後執行一個狀態恢復重新開始運行。
上下文切換會對性能造成負面影響。然而,一些上下文切換相對其他切換而言更加昂貴;其中一個更昂貴的上下文切換是跨核上下文切換(Cross-Core Context Switch)。一個線程可以運行在一個專用處理器上,也可以跨處理器。由單個處理器服務的線程都有處理器關聯(Processor Affinity),這樣會更加有效。在另一個處理器內核搶占和調度線程會引起緩存丟失,作為緩存丟失和過度上下文切換的結果要訪問本地內存。總之,這稱為“跨核上下文切換”。
6.進程和線程
進程概念
進程是表示資源分配的基本單位,又是調度運行的基本單位。例如,用戶運行自己的程序,系統就創建一個進程,並為它分配資源,包括各種表格、內存空間、磁碟空間、I/O設備等。然後,把該進程放人進程的就緒隊列。進程調度程序選中它,為它分配CPU以及其它有關資源,該進程才真正運行。所以,進程是系統中的並發執行的單位。
線程概念
線程是進程中執行運算的最小單位,亦即執行處理機調度的基本單位。如果把進程理解為在邏輯上操作系統所完成的任務,那麼線程表示完成該任務的許多可能的子任務之一
進程和線程的關系
(1)一個線程只能屬於一個進程,而一個進程可以有多個線程,但至少有一個線程。 (2)資源分配給進程,同一進程的所有線程共享該進程的所有資源。
(3)處理機分給線程,即真正在處理機上運行的是線程。
(4)線程在執行過程中,需要協作同步。不同進程的線程間要利用消息通信的辦法實現同步。
㈢ linux性能調優都有哪幾種方法
按照傳統,Linux不同的發行版本和不同的內核對各項參數及設置均做了改回動,從而使得系統答能夠獲得更好的性能。下邊將分四部分介紹在Red Hat Enterprise Linux AS和SUSE LINUX Enterprise Server系統下,如何用以下幾種技巧進行性能的優化:
1、Disabling daemons (關閉 daemons)
2、Shutting down the GUI (關閉GUI)
3、Changing kernel parameters (改變內核參數)
4、Kernel parameters (內核參數)
5、Tuning the processor subsystem(處理器子系統調優)
6、Tuning the memory subsystem (內存子系統調優)
7、Tuning the file system(文件系統子系統調優)
8、Tuning the network subsystem(網路子系統調優)
㈣ 一般優化linux的內核,需要優化什麼參數
首先要知道一點所有的TCP/IP的參數修改是臨時的,因為它們都位於/PROC/SYS/NET目錄下,如果想使參數長期保存,可以通過編輯/ETC/SYSCTL.CONF文件來實現,這里不做詳細說明,只針對Linux的TCPIP內核參數優化列舉相關參數:
1、為自動調優定義socket使用的內存
2、默認的TCP數據接收窗口大小(位元組)
3、最大的TCP數據接收窗口
4、默認的TCP發送窗口大小
5、最大的TCP數據發送窗口
6、在每個網路介面接收數據包的速率比內核處理這些包速率快時,允許送到隊列的數據包最大數目
7、定義了系統中每一個埠最大的監聽隊列長度
8、探測消息未獲得相應時,重發該消息的間隔時間
9、在認定tcp連接失效之前,最多發送多少個keepalive探測消息等。
㈤ linux做過哪些優化
⑴登錄系統:不使抄用root登錄襲,通過sudo授權管理,使用普通用戶登錄。
⑵禁止SSH遠程:更改默認的遠程連接SSH服務及禁止root遠程連接。
⑶時間同步:定時自動更新伺服器時間。
⑷配置yum更新源,從國內更新下載安裝rpm包。
⑸關閉selinux及iptables(iptables工作場景如有wan ip,一般要打開,高並發除外)
⑹調整文件描述符數量,進程及文件的打開都會消耗文件描述符。
⑺定時自動清理/var/spool/clientmquene/目錄垃圾文件,防止節點被占滿(c6.4默認沒有sendmail,因此可以不配。)
⑻精簡開機啟動服務(crond、sshd、network、rsyslog)
⑼Linux內核參數優化/etc/sysctl.conf,執行sysct -p生效。
更改字元集,支持中文,但是還是建議使用英文,防止亂碼問題出現。
⑾鎖定關鍵系統文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 處理以上內容後,把chatter改名,就更安全了。)
⑿清空/etc/issue,去除系統及內核版本登陸前的屏幕顯示。