999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

評(píng)析Linux多層面優(yōu)化策略

2020-12-31 05:47:01河南劉建臣
網(wǎng)絡(luò)安全和信息化 2020年6期
關(guān)鍵詞:進(jìn)程設(shè)置優(yōu)化

■ 河南 劉建臣

優(yōu)化設(shè)置Linux內(nèi)核參數(shù)

在使用Linux時(shí),必然要和系統(tǒng)內(nèi)核進(jìn)行交互,在用戶和內(nèi)核之間其實(shí)是通過(guò)“/proc”這個(gè)虛擬文件系統(tǒng)進(jìn)行聯(lián)系的。在其中提供了一些虛擬文件,當(dāng)用戶對(duì)其進(jìn)行讀寫時(shí),就可以與內(nèi)核進(jìn)行交互。當(dāng)然,這些虛擬文件都是動(dòng)態(tài)建立的。因?yàn)槠浠顒?dòng)在內(nèi)存中,因此如果使用普通的方法對(duì)其進(jìn)行查看,是無(wú)法顯示其真實(shí)大小的。

例如在“/proc/sys/kernel”目錄中保存和內(nèi)核相關(guān)的參數(shù),例如在CentOS 7.X中執(zhí)行“echo “1” >/proc/sys/net/ipv4/ip_forward”命令,可以打開代理轉(zhuǎn)發(fā)功能。執(zhí)行“sysctl kernel.msgmnb”命令,可以顯示單個(gè)隊(duì)列中允許的最大字節(jié)長(zhǎng)度。執(zhí)行“sysctl-w kernel.msgmnb=40960”命令,可以對(duì)該參數(shù)進(jìn)行修改。但是,如果重啟系統(tǒng)后,進(jìn)行的修改就會(huì)消失。為此可以執(zhí)行諸如“vim/etc/sysctl.conf”命令,在該文件中添加“sysctl kernel.msgmnb=40960”行,保存后執(zhí)行“sysctl -p”命令,可以讓修改操作立即生效。

執(zhí)行“echo 1 >/proc/sys/kernel/panic”命令,設(shè)置當(dāng)內(nèi)核出錯(cuò)時(shí),可以自動(dòng)重啟。執(zhí)行“echo 196608>/proc/sys/kernel/pid_max”命令,可以設(shè)置進(jìn)程數(shù)量最大值。執(zhí)行“echo 1>/proc/sys/kernel/ctrlalt-del”命令,可以禁止按下Ctrl+Alt+Delete組合鍵時(shí)系統(tǒng)重啟。執(zhí)行“echo"core.%e.%p " >/proc/sys/kernel/core_pattern”命令,設(shè)置Core文件保存位置信息。

優(yōu)化文件系統(tǒng)性能

在“/proc/sys/fs”目錄中保存和文件系統(tǒng)相關(guān)的參數(shù)。例如,執(zhí)行“echo"10485750">/proc/sys/fs/file-max”命令,可以設(shè)置分配的文件句柄的最大數(shù)目。執(zhí)行“echo "8192000">/proc/sys/fs/inotify/max_user_watches”命令,可以設(shè)置每個(gè)Real User ID可創(chuàng)建的inotify instatnces的數(shù)量上限。磁盤一般包括機(jī)械硬盤和固態(tài)硬盤,實(shí)際上,不管何種形式的磁盤,其隨機(jī)I/O的速度都要比順序I/O慢得多。

對(duì)于順序I/O來(lái)說(shuō),會(huì)采取預(yù)讀取的方式,來(lái)降低I/O請(qǐng)求次數(shù),進(jìn)而優(yōu)化性能。在Linux中如果出現(xiàn)大量讀請(qǐng)求,默認(rèn)的請(qǐng)求隊(duì)列因?yàn)殚L(zhǎng)度不夠,可能無(wú)法應(yīng)對(duì)。為此可以動(dòng)態(tài)調(diào)整請(qǐng)求隊(duì)列數(shù)來(lái)解決問(wèn)題。

為了提高預(yù)讀取性能,可以對(duì)“/sys/block/sdb/queue/read_ahead_kb”參數(shù)進(jìn)行適當(dāng)調(diào)整,其默認(rèn)值為128字節(jié)。當(dāng)不同的進(jìn)程在請(qǐng)求I/O資源時(shí),系統(tǒng)就需要對(duì)其進(jìn)行合理的調(diào)度。

對(duì)于Deadline調(diào)度算法來(lái)說(shuō),通過(guò)降低性能而獲得更短的等待時(shí)間,提供了最小的讀取延遲和較好的吞吐量,比較適用于數(shù)據(jù)庫(kù)服務(wù)器等讀取量較大的環(huán)境。對(duì)于固態(tài)磁盤,以及RAID磁盤陣列來(lái)說(shuō),比較適合使用電梯調(diào)度算法。

對(duì)于CFQ調(diào)度算法來(lái)說(shuō),使用了QoS策略為所有任務(wù)分配等量的帶寬,實(shí)現(xiàn)了較低的延遲,結(jié)合了以上兩個(gè)算法的優(yōu)點(diǎn),對(duì)于多用戶環(huán)境比較適用??梢愿鶕?jù)實(shí)際情況,針對(duì)不同的磁盤設(shè)置合適的算法。例如執(zhí)行“echo'cfq'>/sys/block/sdb/queue/scheduler”命令,將指定的磁盤設(shè)定為CFQ調(diào)度算法。

對(duì)于固態(tài)硬盤來(lái)說(shuō),使用Trim技術(shù)可以大幅提高數(shù)據(jù)讀寫性能。例如,執(zhí)行“l(fā)sblk-D/dev/sdb”命令,可以檢測(cè)SSD磁盤是否支持Trim功能。如果在返回信息中的“DISC-GRAN”和“DISC-MAX”列中為非零值,說(shuō)明其支持Trim功能。注意,只有Ext4和XFS格式支持Trim功能。

執(zhí)行“mount -t ext4-o discard/dev/sdb1/mnt”命令,可以在指定的分區(qū)上啟用Trim功能,還可以執(zhí)行“/usr/sbin/fstrim-a”命令,自動(dòng)檢測(cè)硬盤是否支持TRIM功能,并在已掛載文件系統(tǒng)上執(zhí)行TRIM功能。

對(duì)于CentOS7.X中已經(jīng)使用了性能更加優(yōu)異的XFS文件系統(tǒng),在對(duì)磁盤進(jìn)行格式化時(shí),可以同步進(jìn)行優(yōu)化操作。

優(yōu)化網(wǎng)絡(luò)連接性能

在“/proc/sys/net”中保存和網(wǎng)絡(luò)相關(guān)的參數(shù),對(duì)于Web服務(wù)器來(lái)說(shuō),合理的配置這些參數(shù),對(duì)于有效的提高系統(tǒng)的性能。

例如,執(zhí)行“echo 2 >/proc/sys/net/ipv4/tcp_syn_retries”命令,可以設(shè)置當(dāng)內(nèi)核要2個(gè)SYN連接請(qǐng)求后才才放棄一個(gè)新建連接。執(zhí)行“echo 300>/proc/sys/net/ipv4/tcp_keepalive_time”命令,可以設(shè)置TCP發(fā)送keepalive消息的頻度。執(zhí)行“echo 1 >/proc/sys/net/ipv4/tcp_orphan_retries”命令,可以重試后放棄Socket連接。

執(zhí)行“echo 1 >/proc/s ys/net/ipv4/ tcp_syncook ies”命令,可以啟用SYN Cookies功能,可以有效防御SYN攻擊。執(zhí)行“echo 8192>/proc/sys/net/ipv4/tcp_max_syn_backlog”命令,將SYN隊(duì)列長(zhǎng)度設(shè)置為8192,可以接受更多的網(wǎng)絡(luò)連接。

執(zhí)行“echo 2 >//proc/sys/net/ipv4/tcp_synack_retries”命令,將SYN+ACK報(bào)文重試次數(shù)設(shè)置為2。

執(zhí)行“echo 1 >/proc/sys/net/ipv4/ tcp_tw_recycle”命令,啟用TCP連接中TIME-WAIT Sockets快速回收功能。

執(zhí)行“netstat -n | aw k '/^tcp/ {++state[$NF]};END {for(key in state) p rint key," ",state[key]}'”,“netstat -n | awk'/^tcp/ {++arr[$NF]};END{for(k in arr) print k," ",arr[k]}'”等命令,可以查看系統(tǒng)的TIME-WAIT狀態(tài)信息。

執(zhí)行“echo 1 >/proc/sys/net/ipv4/tcp_tw_reuse”命令,可以允許將TIME-WAIT sockets重新用于新的TCP連接。當(dāng)然,這必須同時(shí)開啟TIME-WAIT Sockets快速回收功能。

執(zhí)行“cho 15 >/proc/sys/net/ipv4/tcp_fin_timeout”命令,設(shè)置處于TIME_WAIT狀態(tài)的連接在回收前必須等待的最小時(shí)間。執(zhí)行“echo 5>/proc/sys/net/ipv4/ tcp_keepalive_probes”命令,設(shè)置超時(shí)前的等待次數(shù)。

執(zhí)行“echo 3000>/pro c/sys/net/ipv4/ netdev_max_backlog”命令,設(shè)置每個(gè)網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率大于內(nèi)核處理這些包的速率快時(shí),允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目。執(zhí)行“echo 16777216>/proc/sys/net/core/rmem_max”,“echo 16777216>/proc/sys/net/core/wmem_max”命令,設(shè)置接收/發(fā)送套接字緩沖區(qū)大小的最大值,單位為字節(jié)。

執(zhí)行“echo "4096 87380 16777216">/proc/sys/net/ipv4/tcp_rmem”,“echo"4096 65536 16777216">/proc/sys/net/ipv4/tcp_rmem”命令,分別設(shè)置內(nèi)核自動(dòng)對(duì)Socket緩沖區(qū)進(jìn)行讀取/寫入的最小值,默認(rèn)值和最大值。執(zhí)行“echo 4096 >/proc/sys/net/core/somaxconn”命令,可以設(shè)置Socket監(jiān)聽(tīng)的隊(duì)列上限。

優(yōu)化內(nèi)存管理機(jī)制

對(duì)內(nèi)存設(shè)置進(jìn)行優(yōu)化,必須搞清楚Buffer(緩沖)和Cache(緩存)的關(guān)系。Cached工作在CPU與內(nèi)存之間的層面,經(jīng)常被應(yīng)用到磁盤I/O請(qǐng)求上。Buffer工作在內(nèi)存與磁盤之間的層面。Cache將CPU讀取過(guò)的數(shù)據(jù)保存起來(lái),便于CPU下次需要時(shí)快速讀取,而不必重復(fù)從磁盤中讀取這些數(shù)據(jù)。如果Cache中沒(méi)有搜索到數(shù)據(jù),系統(tǒng)才會(huì)從磁盤中讀取。而且系統(tǒng)會(huì)根據(jù)CPU讀取的頻率,將最頻繁的數(shù)據(jù)存放到Cache中最容易找到的位置。

對(duì)于Buffer來(lái)說(shuō),存儲(chǔ)的是需要寫入磁盤的數(shù)據(jù)。Buffe是針對(duì)不同的進(jìn)程進(jìn)行分配的。在Linux中Cache的讀寫是分別進(jìn)行的。

一方面磁盤數(shù)據(jù)會(huì)被讀取到Page Cache進(jìn)行緩存,程序要會(huì)從中直接讀取數(shù)據(jù)讀取數(shù)據(jù)。

另一方面當(dāng)刷新Page Cache的數(shù)據(jù)時(shí),Page Cache會(huì)將其提交給Buffer Cache,由其將所有數(shù)據(jù)定期寫入到磁盤中。對(duì)于Page Cache來(lái)說(shuō),是文件系統(tǒng)層級(jí)的緩存。對(duì)于Buffer Cache來(lái)說(shuō),是用于磁盤等塊設(shè)備的緩沖。

例如,執(zhí)行Sync命令,可以手工將Buffer Cache的數(shù)據(jù)寫入磁盤。當(dāng)讀取文件時(shí),系統(tǒng)會(huì)首先在Page Cache中查找,當(dāng)執(zhí)行時(shí)系統(tǒng)只是將數(shù)據(jù)暫寫入Page Cache中,并將該頁(yè)置上dirty標(biāo)志,這些數(shù)據(jù)會(huì)被定期批量保存到文件系統(tǒng)中。

在“/proc/sys/vm”目錄中保存和內(nèi)存設(shè)置相關(guān)的參數(shù),對(duì)于Page Cache進(jìn)行優(yōu)化,主要包含“vm.dirty_background_ratio”和“vm.dirty_ratio”參數(shù)。

例如,執(zhí)行“echo 5>/proc/sys/vm/dirty_background_ratio”命令,設(shè)置當(dāng)文件系統(tǒng)緩存臟數(shù)據(jù)數(shù)量達(dá)到系統(tǒng)內(nèi)存5%時(shí),就會(huì)觸發(fā)Pdflush等后臺(tái)回寫進(jìn)程運(yùn)行。

執(zhí)行“echo 10 >/proc/sys/vm/dirty_ratio”命令,設(shè)置當(dāng)文件系統(tǒng)緩存臟數(shù)據(jù)數(shù)量達(dá)到系統(tǒng)內(nèi)存10%時(shí),必須開始處理緩存臟頁(yè),其要大于或者等于前者的數(shù)值,因?yàn)榇藭r(shí)臟頁(yè)數(shù)量已經(jīng)比較多,為了避免數(shù)據(jù)丟失需要將一定臟頁(yè)寫入磁盤。

如果需要立即回收Cache,可以執(zhí)行“echo 1 >/proc/sys/vm/drop_caches”命令,釋放Page Cache。

執(zhí)行“sync”命令,將緩存寫入磁盤。執(zhí)行“echo 3>/proc/sys/vm/drop_cache s”命令,可以釋放文件節(jié)點(diǎn)緩存和目錄項(xiàng)緩存。

執(zhí)行“echo 3 >/proc/sys/vm/drop_caches”命令,可以釋放以上所有緩存項(xiàng)目。在“/proc/sys/vm/dirty_expire_centisecs”參數(shù)中設(shè)置臟數(shù)據(jù)在內(nèi)存中駐留時(shí)間,如果超過(guò)超過(guò)該值的話,Pdflush進(jìn)程在下一次將把這些數(shù)據(jù)寫回磁盤。在“/proc/sys/vm/dirty_writeback_centisecs”參數(shù)中設(shè)置新進(jìn)程pdflush的運(yùn)行間隔,該進(jìn)程用于刷新內(nèi)核的臟數(shù)據(jù)。

在“/proc/sys/vm/vfs_cache_pressure”參數(shù)中內(nèi)核回收用于directory和inode cache內(nèi)存的傾向。在“/proc/sys/vm/min_free_kbytes”參數(shù)中設(shè)置強(qiáng)制Linux VM最低保留多少空閑內(nèi)存。

在“/proc/sys/vm/over commit_memory”參數(shù)中設(shè)置內(nèi)存分配策略,如果為0表示當(dāng)應(yīng)用程序申請(qǐng)內(nèi)存時(shí),如果有足夠的可用內(nèi)存則申請(qǐng)?jiān)试S,否則內(nèi)存申請(qǐng)失敗,并把錯(cuò)誤返回給應(yīng)用進(jìn)程。如果為1表示內(nèi)核允許分配所有的物理內(nèi)存,如果為2表示內(nèi)核允許分配超過(guò)所有物理內(nèi)存和交換空間總和的內(nèi)存。

在“/proc/sys/vm/panic_on_oom”參數(shù)的值如果為0,表示當(dāng)內(nèi)存耗盡時(shí)內(nèi)核會(huì)觸發(fā)OOM killer清除最耗內(nèi)存的進(jìn)程。

如果設(shè)置為1表示在OOM時(shí)系統(tǒng)會(huì)Panic。使用交換分區(qū),可以緩解內(nèi)存不足的問(wèn)題。

猜你喜歡
進(jìn)程設(shè)置優(yōu)化
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
中隊(duì)崗位該如何設(shè)置
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
本刊欄目設(shè)置說(shuō)明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
社會(huì)進(jìn)程中的新聞學(xué)探尋
地鐵出入段線轉(zhuǎn)換軌設(shè)置
主站蜘蛛池模板: 成人一区在线| 成人va亚洲va欧美天堂| 伊在人亞洲香蕉精品區| 凹凸精品免费精品视频| 婷婷开心中文字幕| 91黄视频在线观看| 人妻免费无码不卡视频| 五月天丁香婷婷综合久久| 不卡午夜视频| 亚洲a级在线观看| 国产乱子伦一区二区=| 国产在线91在线电影| 国产交换配偶在线视频| 国产欧美日韩91| 91在线国内在线播放老师| 日韩大乳视频中文字幕| 欧美亚洲另类在线观看| 看你懂的巨臀中文字幕一区二区| 亚洲欧美日韩色图| 中文字幕亚洲精品2页| 玖玖精品视频在线观看| 在线欧美日韩| 久久福利片| 又爽又黄又无遮挡网站| 亚洲日本中文字幕乱码中文| 又爽又黄又无遮挡网站| 玖玖免费视频在线观看 | 国内a级毛片| a网站在线观看| 久久semm亚洲国产| 日本五区在线不卡精品| 国产主播喷水| 最近最新中文字幕在线第一页| 成年人午夜免费视频| 中文成人在线视频| 亚洲人成日本在线观看| 日本影院一区| 国产精品漂亮美女在线观看| 国产在线无码av完整版在线观看| 日韩在线播放中文字幕| 国产精品不卡片视频免费观看| 久久久精品无码一区二区三区| 欧美成人综合视频| 欧美日本激情| 亚洲第一成年人网站| 亚洲av片在线免费观看| 2021天堂在线亚洲精品专区| 91九色国产在线| 亚洲一区毛片| 四虎AV麻豆| 日本黄网在线观看| 自拍欧美亚洲| 国产香蕉在线视频| 色亚洲激情综合精品无码视频 | 欧美亚洲第一页| 九九九精品视频| 国产午夜福利亚洲第一| 任我操在线视频| 欧美精品1区| 99在线免费播放| 日韩第一页在线| 波多野结衣亚洲一区| 欧美激情视频在线观看一区| 国产精品无码一二三视频| 国产激情无码一区二区APP| 亚洲日韩精品无码专区97| 亚洲欧美不卡| 欧美日韩国产成人高清视频| 欧美日本激情| 国产精品手机视频一区二区| 5555国产在线观看| 99久久精品久久久久久婷婷| 亚洲国产黄色| 国国产a国产片免费麻豆| 国产毛片久久国产| 国产亚洲高清视频| 无码AV动漫| 国产成人啪视频一区二区三区| a在线观看免费| 国模视频一区二区| 色综合综合网| 成年av福利永久免费观看|