HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    linux內(nèi)核(linux內(nèi)核版本)

    發(fā)布時(shí)間:2023-04-08 10:22:44     稿源: 創(chuàng)意嶺    閱讀: 120        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于linux內(nèi)核的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    linux內(nèi)核(linux內(nèi)核版本)

    一、linux 內(nèi)核參數(shù)優(yōu)化

    作為高性能WEB服務(wù)器,只調(diào)整Nginx本身的參數(shù)是不行的,因?yàn)镹ginx服務(wù)依賴于高性能的操作系統(tǒng)。

    以下為常見的幾個(gè)Linux內(nèi)核參數(shù)優(yōu)化方法。

    • net.ipv4.tcp_max_tw_buckets

    • 對于tcp連接,服務(wù)端和客戶端通信完后狀態(tài)變?yōu)閠imewait,假如某臺服務(wù)器非常忙,連接數(shù)特別多的話,那么這個(gè)timewait數(shù)量就會(huì)越來越大。

      畢竟它也是會(huì)占用一定的資源,所以應(yīng)該有一個(gè)最大值,當(dāng)超過這個(gè)值,系統(tǒng)就會(huì)刪除最早的連接,這樣始終保持在一個(gè)數(shù)量級。

      這個(gè)數(shù)值就是由net.ipv4.tcp_max_tw_buckets這個(gè)參數(shù)來決定的。

      CentOS7系統(tǒng),你可以使用sysctl -a |grep tw_buckets來查看它的值,默認(rèn)為32768,

      你可以適當(dāng)把它調(diào)低,比如調(diào)整到8000,畢竟這個(gè)狀態(tài)的連接太多也是會(huì)消耗資源的。

      但你不要把它調(diào)到幾十、幾百這樣,因?yàn)檫@種狀態(tài)的tcp連接也是有用的,

      如果同樣的客戶端再次和服務(wù)端通信,就不用再次建立新的連接了,用這個(gè)舊的通道,省時(shí)省力。

    • net.ipv4.tcp_tw_recycle = 1

    • 該參數(shù)的作用是快速回收timewait狀態(tài)的連接。上面雖然提到系統(tǒng)會(huì)自動(dòng)刪除掉timewait狀態(tài)的連接,但如果把這樣的連接重新利用起來豈不是更好。

      所以該參數(shù)設(shè)置為1就可以讓timewait狀態(tài)的連接快速回收,它需要和下面的參數(shù)配合一起使用。

    • net.ipv4.tcp_tw_reuse = 1

    • 該參數(shù)設(shè)置為1,將timewait狀態(tài)的連接重新用于新的TCP連接,要結(jié)合上面的參數(shù)一起使用。

    • net.ipv4.tcp_syncookies = 1

    • tcp三次握手中,客戶端向服務(wù)端發(fā)起syn請求,服務(wù)端收到后,也會(huì)向客戶端發(fā)起syn請求同時(shí)連帶ack確認(rèn),

      假如客戶端發(fā)送請求后直接斷開和服務(wù)端的連接,不接收服務(wù)端發(fā)起的這個(gè)請求,服務(wù)端會(huì)重試多次,

      這個(gè)重試的過程會(huì)持續(xù)一段時(shí)間(通常高于30s),當(dāng)這種狀態(tài)的連接數(shù)量非常大時(shí),服務(wù)器會(huì)消耗很大的資源,從而造成癱瘓,

      正常的連接進(jìn)不來,這種惡意的半連接行為其實(shí)叫做syn flood攻擊。

      設(shè)置為1,是開啟SYN Cookies,開啟后可以避免發(fā)生上述的syn flood攻擊。

      開啟該參數(shù)后,服務(wù)端接收客戶端的ack后,再向客戶端發(fā)送ack+syn之前會(huì)要求client在短時(shí)間內(nèi)回應(yīng)一個(gè)序號,

      如果客戶端不能提供序號或者提供的序號不對則認(rèn)為該客戶端不合法,于是不會(huì)發(fā)ack+syn給客戶端,更涉及不到重試。

    • net.ipv4.tcp_max_syn_backlog

    • 該參數(shù)定義系統(tǒng)能接受的最大半連接狀態(tài)的tcp連接數(shù)??蛻舳讼蚍?wù)端發(fā)送了syn包,服務(wù)端收到后,會(huì)記錄一下,

      該參數(shù)決定最多能記錄幾個(gè)這樣的連接。在CentOS7,默認(rèn)是256,當(dāng)有syn flood攻擊時(shí),這個(gè)數(shù)值太小則很容易導(dǎo)致服務(wù)器癱瘓,

      實(shí)際上此時(shí)服務(wù)器并沒有消耗太多資源(cpu、內(nèi)存等),所以可以適當(dāng)調(diào)大它,比如調(diào)整到30000。

    • net.ipv4.tcp_syn_retries

    • 該參數(shù)適用于客戶端,它定義發(fā)起syn的最大重試次數(shù),默認(rèn)為6,建議改為2。

    • net.ipv4.tcp_synack_retries

    • 該參數(shù)適用于服務(wù)端,它定義發(fā)起syn+ack的最大重試次數(shù),默認(rèn)為5,建議改為2,可以適當(dāng)預(yù)防syn flood攻擊。

    • net.ipv4.ip_local_port_range

    • 該參數(shù)定義端口范圍,系統(tǒng)默認(rèn)保留端口為1024及以下,以上部分為自定義端口。這個(gè)參數(shù)適用于客戶端,

      當(dāng)客戶端和服務(wù)端建立連接時(shí),比如說訪問服務(wù)端的80端口,客戶端隨機(jī)開啟了一個(gè)端口和服務(wù)端發(fā)起連接,

      這個(gè)參數(shù)定義隨機(jī)端口的范圍。默認(rèn)為32768 61000,建議調(diào)整為1025 61000。

    • net.ipv4.tcp_fin_timeout

    • tcp連接的狀態(tài)中,客戶端上有一個(gè)是FIN-WAIT-2狀態(tài),它是狀態(tài)變遷為timewait前一個(gè)狀態(tài)。

      該參數(shù)定義不屬于任何進(jìn)程的該連接狀態(tài)的超時(shí)時(shí)間,默認(rèn)值為60,建議調(diào)整為6。

    • net.ipv4.tcp_keepalive_time

    • tcp連接狀態(tài)里,有一個(gè)是established狀態(tài),只有在這個(gè)狀態(tài)下,客戶端和服務(wù)端才能通信。正常情況下,當(dāng)通信完畢,

      客戶端或服務(wù)端會(huì)告訴對方要關(guān)閉連接,此時(shí)狀態(tài)就會(huì)變?yōu)閠imewait,如果客戶端沒有告訴服務(wù)端,

      并且服務(wù)端也沒有告訴客戶端關(guān)閉的話(例如,客戶端那邊斷網(wǎng)了),此時(shí)需要該參數(shù)來判定。

      比如客戶端已經(jīng)斷網(wǎng)了,但服務(wù)端上本次連接的狀態(tài)依然是established,服務(wù)端為了確認(rèn)客戶端是否斷網(wǎng),

      就需要每隔一段時(shí)間去發(fā)一個(gè)探測包去確認(rèn)一下看看對方是否在線。這個(gè)時(shí)間就由該參數(shù)決定。它的默認(rèn)值為7200秒,建議設(shè)置為30秒。

    • net.ipv4.tcp_keepalive_intvl

    • 該參數(shù)和上面的參數(shù)是一起的,服務(wù)端在規(guī)定時(shí)間內(nèi)發(fā)起了探測,查看客戶端是否在線,如果客戶端并沒有確認(rèn),

      此時(shí)服務(wù)端還不能認(rèn)定為對方不在線,而是要嘗試多次。該參數(shù)定義重新發(fā)送探測的時(shí)間,即第一次發(fā)現(xiàn)對方有問題后,過多久再次發(fā)起探測。

      默認(rèn)值為75秒,可以改為3秒。

    • net.ipv4.tcp_keepalive_probes

    • 第10和第11個(gè)參數(shù)規(guī)定了何時(shí)發(fā)起探測和探測失敗后再過多久再發(fā)起探測,但并沒有定義一共探測幾次才算結(jié)束。

      該參數(shù)定義發(fā)起探測的包的數(shù)量。默認(rèn)為9,建議設(shè)置2。

      設(shè)置和范例

      在Linux下調(diào)整內(nèi)核參數(shù),可以直接編輯配置文件/etc/sysctl.conf,然后執(zhí)行sysctl -p命令生效。

    二、Linux操作系統(tǒng)的主要組成部分是什么?

    Linux系統(tǒng)一般有4個(gè)主要部分:內(nèi)核、shell、文件系統(tǒng)和應(yīng)用程序。內(nèi)核、shell和文件系統(tǒng)一起形成了基本的操作系統(tǒng)結(jié)構(gòu),它們使得用戶可以運(yùn)行程序、管理文件并使用系統(tǒng)。

    1、內(nèi)核

    內(nèi)核是操作系統(tǒng)的核心,具有很多最基本功能,它負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動(dòng)程序、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。

    Linux內(nèi)核由如下幾部分組成:內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動(dòng)程序、文件系統(tǒng)和網(wǎng)絡(luò)管理等。

    2、shell

    shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口。它接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行,是一個(gè)命令解釋器。另外,shell編程語言具有普通編程語言的很多特點(diǎn),用這種編程語言編寫的shell程序與其他應(yīng)用程序具有同樣的效果。

    目前主要有下列版本的shell:

    ①Bourne shell:是貝爾實(shí)驗(yàn)室開發(fā)的。

    ②BASH:是GNU的Bourne Again

    shell,是GNU操作系統(tǒng)上默認(rèn)的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、應(yīng)用程序

    標(biāo)準(zhǔn)的Linux系統(tǒng)一般都有一套稱為應(yī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提供的大量自由軟件就是一個(gè)完整的GNU/Linux發(fā)行版,而CentOS就是眾多發(fā)行版中的一個(gè)。

    Linux只是一個(gè)操作系統(tǒng)內(nèi)核而已,而GNU提供了大量的自由軟件來豐富在其之上各種應(yīng)用程序。因此,嚴(yán)格來講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。

    基于這些組件的Linux軟件被稱為Linux發(fā)行版。一般來講,一個(gè)Linux發(fā)行套件包含大量的軟件,比如軟件開發(fā)工具,數(shù)據(jù)庫,Web服務(wù)器(例如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)存管理,進(jìn)程調(diào)度,IO操作等)之上,給用戶提供不同的操作體驗(yàn)。

    以上就是關(guān)于linux內(nèi)核相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    livelink官網(wǎng)(livelinkadmin)

    arr.split

    heathcliff讀音(heathcliff音標(biāo))

    嘉禾良庫文化創(chuàng)意園(嘉禾良庫文化創(chuàng)意園出租)

    中盈印刷制品有限公司(中盈印刷制品有限公司招聘)