-
當前位置:首頁 > 創(chuàng)意學院 > 技術(shù) > 專題列表 > 正文
net.ipv4.tcp_max_tw_buckets
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog
net.ipv4.tcp_syn_retries
net.ipv4.tcp_synack_retries
net.ipv4.ip_local_port_range
net.ipv4.tcp_fin_timeout
net.ipv4.tcp_keepalive_time
net.ipv4.tcp_keepalive_intvl
net.ipv4.tcp_keepalive_probes
linux內(nèi)核(linux內(nèi)核版本)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于linux內(nèi)核的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、linux 內(nèi)核參數(shù)優(yōu)化
作為高性能WEB服務器,只調(diào)整Nginx本身的參數(shù)是不行的,因為Nginx服務依賴于高性能的操作系統(tǒng)。
以下為常見的幾個Linux內(nèi)核參數(shù)優(yōu)化方法。
對于tcp連接,服務端和客戶端通信完后狀態(tài)變?yōu)閠imewait,假如某臺服務器非常忙,連接數(shù)特別多的話,那么這個timewait數(shù)量就會越來越大。
畢竟它也是會占用一定的資源,所以應該有一個最大值,當超過這個值,系統(tǒng)就會刪除最早的連接,這樣始終保持在一個數(shù)量級。
這個數(shù)值就是由net.ipv4.tcp_max_tw_buckets這個參數(shù)來決定的。
CentOS7系統(tǒng),你可以使用sysctl -a |grep tw_buckets來查看它的值,默認為32768,
你可以適當把它調(diào)低,比如調(diào)整到8000,畢竟這個狀態(tài)的連接太多也是會消耗資源的。
但你不要把它調(diào)到幾十、幾百這樣,因為這種狀態(tài)的tcp連接也是有用的,
如果同樣的客戶端再次和服務端通信,就不用再次建立新的連接了,用這個舊的通道,省時省力。
該參數(shù)的作用是快速回收timewait狀態(tài)的連接。上面雖然提到系統(tǒng)會自動刪除掉timewait狀態(tài)的連接,但如果把這樣的連接重新利用起來豈不是更好。
所以該參數(shù)設(shè)置為1就可以讓timewait狀態(tài)的連接快速回收,它需要和下面的參數(shù)配合一起使用。
該參數(shù)設(shè)置為1,將timewait狀態(tài)的連接重新用于新的TCP連接,要結(jié)合上面的參數(shù)一起使用。
tcp三次握手中,客戶端向服務端發(fā)起syn請求,服務端收到后,也會向客戶端發(fā)起syn請求同時連帶ack確認,
假如客戶端發(fā)送請求后直接斷開和服務端的連接,不接收服務端發(fā)起的這個請求,服務端會重試多次,
這個重試的過程會持續(xù)一段時間(通常高于30s),當這種狀態(tài)的連接數(shù)量非常大時,服務器會消耗很大的資源,從而造成癱瘓,
正常的連接進不來,這種惡意的半連接行為其實叫做syn flood攻擊。
設(shè)置為1,是開啟SYN Cookies,開啟后可以避免發(fā)生上述的syn flood攻擊。
開啟該參數(shù)后,服務端接收客戶端的ack后,再向客戶端發(fā)送ack+syn之前會要求client在短時間內(nèi)回應一個序號,
如果客戶端不能提供序號或者提供的序號不對則認為該客戶端不合法,于是不會發(fā)ack+syn給客戶端,更涉及不到重試。
該參數(shù)定義系統(tǒng)能接受的最大半連接狀態(tài)的tcp連接數(shù)。客戶端向服務端發(fā)送了syn包,服務端收到后,會記錄一下,
該參數(shù)決定最多能記錄幾個這樣的連接。在CentOS7,默認是256,當有syn flood攻擊時,這個數(shù)值太小則很容易導致服務器癱瘓,
實際上此時服務器并沒有消耗太多資源(cpu、內(nèi)存等),所以可以適當調(diào)大它,比如調(diào)整到30000。
該參數(shù)適用于客戶端,它定義發(fā)起syn的最大重試次數(shù),默認為6,建議改為2。
該參數(shù)適用于服務端,它定義發(fā)起syn+ack的最大重試次數(shù),默認為5,建議改為2,可以適當預防syn flood攻擊。
該參數(shù)定義端口范圍,系統(tǒng)默認保留端口為1024及以下,以上部分為自定義端口。這個參數(shù)適用于客戶端,
當客戶端和服務端建立連接時,比如說訪問服務端的80端口,客戶端隨機開啟了一個端口和服務端發(fā)起連接,
這個參數(shù)定義隨機端口的范圍。默認為32768 61000,建議調(diào)整為1025 61000。
tcp連接的狀態(tài)中,客戶端上有一個是FIN-WAIT-2狀態(tài),它是狀態(tài)變遷為timewait前一個狀態(tài)。
該參數(shù)定義不屬于任何進程的該連接狀態(tài)的超時時間,默認值為60,建議調(diào)整為6。
tcp連接狀態(tài)里,有一個是established狀態(tài),只有在這個狀態(tài)下,客戶端和服務端才能通信。正常情況下,當通信完畢,
客戶端或服務端會告訴對方要關(guān)閉連接,此時狀態(tài)就會變?yōu)閠imewait,如果客戶端沒有告訴服務端,
并且服務端也沒有告訴客戶端關(guān)閉的話(例如,客戶端那邊斷網(wǎng)了),此時需要該參數(shù)來判定。
比如客戶端已經(jīng)斷網(wǎng)了,但服務端上本次連接的狀態(tài)依然是established,服務端為了確認客戶端是否斷網(wǎng),
就需要每隔一段時間去發(fā)一個探測包去確認一下看看對方是否在線。這個時間就由該參數(shù)決定。它的默認值為7200秒,建議設(shè)置為30秒。
該參數(shù)和上面的參數(shù)是一起的,服務端在規(guī)定時間內(nèi)發(fā)起了探測,查看客戶端是否在線,如果客戶端并沒有確認,
此時服務端還不能認定為對方不在線,而是要嘗試多次。該參數(shù)定義重新發(fā)送探測的時間,即第一次發(fā)現(xiàn)對方有問題后,過多久再次發(fā)起探測。
默認值為75秒,可以改為3秒。
第10和第11個參數(shù)規(guī)定了何時發(fā)起探測和探測失敗后再過多久再發(fā)起探測,但并沒有定義一共探測幾次才算結(jié)束。
該參數(shù)定義發(fā)起探測的包的數(shù)量。默認為9,建議設(shè)置2。
設(shè)置和范例
在Linux下調(diào)整內(nèi)核參數(shù),可以直接編輯配置文件/etc/sysctl.conf,然后執(zhí)行sysctl -p命令生效。
二、Linux操作系統(tǒng)的主要組成部分是什么?
Linux系統(tǒng)一般有4個主要部分:內(nèi)核、shell、文件系統(tǒng)和應用程序。內(nèi)核、shell和文件系統(tǒng)一起形成了基本的操作系統(tǒng)結(jié)構(gòu),它們使得用戶可以運行程序、管理文件并使用系統(tǒng)。
1、內(nèi)核
內(nèi)核是操作系統(tǒng)的核心,具有很多最基本功能,它負責管理系統(tǒng)的進程、內(nèi)存、設(shè)備驅(qū)動程序、文件和網(wǎng)絡系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。
Linux內(nèi)核由如下幾部分組成:內(nèi)存管理、進程管理、設(shè)備驅(qū)動程序、文件系統(tǒng)和網(wǎng)絡管理等。
2、shell
shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行,是一個命令解釋器。另外,shell編程語言具有普通編程語言的很多特點,用這種編程語言編寫的shell程序與其他應用程序具有同樣的效果。
目前主要有下列版本的shell:
①Bourne shell:是貝爾實驗室開發(fā)的。
②BASH:是GNU的Bourne Again
shell,是GNU操作系統(tǒng)上默認的shell,大部分Linux的發(fā)行套件使用的都是這種shell。
③Korn shell:是對Bourne shell的發(fā)展,在大部分內(nèi)容上與Bourne shell兼容。
④C shell:是SUN公司shell的BSD版本。
3、文件系統(tǒng)
文件系統(tǒng)是文件存放在磁盤等存儲設(shè)備上的組織方法。Linux系統(tǒng)能支持多種目前流行的文件系統(tǒng),如EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。
4、應用程序
標準的Linux系統(tǒng)一般都有一套稱為應用程序的程序集,它包括文本編輯器、編程語言、X Window、辦公套件、Internet工具和數(shù)據(jù)庫等。
三、linux和centos7區(qū)別
Linux是指操作系統(tǒng)內(nèi)核,CentOS是指GNU/Linux操作系統(tǒng)。
2、Linux系統(tǒng)內(nèi)核加上GNU提供的大量自由軟件就是一個完整的GNU/Linux發(fā)行版,而CentOS就是眾多發(fā)行版中的一個。
Linux只是一個操作系統(tǒng)內(nèi)核而已,而GNU提供了大量的自由軟件來豐富在其之上各種應用程序。因此,嚴格來講,Linux這個詞本身只表示Linux內(nèi)核,但在實際上人們已經(jīng)習慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。
基于這些組件的Linux軟件被稱為Linux發(fā)行版。一般來講,一個Linux發(fā)行套件包含大量的軟件,比如軟件開發(fā)工具,數(shù)據(jù)庫,Web服務器(例如Apache),X Window,桌面環(huán)境(比如GNOME和KDE),辦公套件(比如OpenOffice.org),等等。
四、查看Linux的系統(tǒng)版本和內(nèi)核版本
uname -a ===> 3.10.0-693.el7.x86_64
Redhat : cat /etc/redhat-release ===> CentOS Linux release 7.4.1708
通用: cat /etc/issue
系統(tǒng)版本有Redhat, Ubuntu, Debian等, 他們都是建立在linux內(nèi)核(內(nèi)存管理,進程調(diào)度,IO操作等)之上,給用戶提供不同的操作體驗。
以上就是關(guān)于linux內(nèi)核相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
livelink官網(wǎng)(livelinkadmin)
嘉禾良庫文化創(chuàng)意園(嘉禾良庫文化創(chuàng)意園出租)