日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

湖南麒麟实时操作系统调优指南

發(fā)布時間:2023/12/20 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 湖南麒麟实时操作系统调优指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????????湖南麒麟實時操作系統(tǒng)的實時性是建立在正確地調(diào)優(yōu)之上的。硬實時任務(wù)的要求較為苛刻,對系統(tǒng)的確定性以及穩(wěn)定性有較高要求,需要硬件、系統(tǒng)以及軟件的相互配合才能達(dá)到其要求。

???????? 硬實時任務(wù)對操作系統(tǒng)的延遲以及穩(wěn)定性提出了非常苛刻的要求,為了滿足這一要求,需要硬件、系統(tǒng)以及應(yīng)用軟件自身的配合。硬件與操作系統(tǒng)在設(shè)計時往往是要綜合考慮各種各樣的需求的,力圖綜合性能強大。而硬實時任務(wù)是一種特化的需求,這時就需要對操作系統(tǒng)以及硬件進(jìn)行精細(xì)調(diào)整,以求收益的最大化。實時軟件在部署時也需要針對硬件做出一些調(diào)整。

???????? 調(diào)優(yōu)是一個比較枯燥的任務(wù),需要大量的分析和嘗試,因此調(diào)優(yōu)中最經(jīng)常用到的手法就是控制變量法。也就是說,在調(diào)優(yōu)過程中,保持大部分參數(shù)不變,只改動一個或者幾個參數(shù),然后測試并觀察結(jié)果。通過這樣的微調(diào)慢慢地找到最佳參數(shù),而大跨度的參數(shù)調(diào)整往往會讓人迷失方向。

???????? 一般從硬件、內(nèi)核、應(yīng)用軟件三個大方面入手,進(jìn)行調(diào)優(yōu)。

從硬件的角度上來說,首先要移除不必要的外圍設(shè)備,這樣可以使操作系統(tǒng)減少一些不必要的中斷處理,也降低了驅(qū)動bug導(dǎo)致延遲異常的可能性。其次就是要關(guān)閉電源管理,以x86架構(gòu)為例,我們可以在BIOS中關(guān)閉ACPI的部分電源模式。不同主板的BIOS之間是存在差異的,但是只要遵照“一切降低能耗的行為都會對系統(tǒng)整體的性能有影響”這一準(zhǔn)則行動即可。對于x86架構(gòu)來說,還有一個比較重要的影響因素,被稱作SMI中斷。簡單來說,SMI中斷是一類比較特殊的中斷,對操作系統(tǒng)是透明的,即不受操作系統(tǒng)管制,觸發(fā)時會使CPU進(jìn)入SMM模式并執(zhí)行BIOS中的中斷處理代碼。硬件廠商用它來完成一些與硬件故障檢測相關(guān)的例行任務(wù)。

對內(nèi)核的調(diào)整比較雜亂,涉及的東西比較多,主要分為對內(nèi)核子系統(tǒng)的參數(shù)微調(diào)與處理器的重分配。對調(diào)度延遲影響比較大的內(nèi)核子系統(tǒng)有中斷子系統(tǒng)、調(diào)度器和定時器。對于一個線程來說,運行時的page fault與cache命中率對延遲有較大影響。同一個線程在不同處理器上的遷移(migrate)操作由于要刷新TLB和cache也會對延遲有較大影響,一般會限制此類操作。由于實時內(nèi)核強制使用內(nèi)核線程進(jìn)行中斷處理,我們可以啟用CPU隔離將大部分的中斷處理內(nèi)核線程和全部的普通優(yōu)先級進(jìn)程分配給一個單獨的CPU進(jìn)行處理,剩余的CPU可以專門處理實時任務(wù)。但是某些特定情況下將實時任務(wù)和其依賴的硬件中斷處理線程放到一個CPU上也是可以降低延遲的。從應(yīng)用的角度上來說,我們應(yīng)該將實時任務(wù)設(shè)置為SCHED_FIFO調(diào)度策略并設(shè)置一個比較高的優(yōu)先級。

一、基本調(diào)優(yōu)策略

1)?? ?系統(tǒng)和應(yīng)用隔離
????????a)?? ?使用隔離的CPU運行應(yīng)用;
????????b)?? ?綁定線程和IRQ到隔離的CPU;
????????c)?? ?至少預(yù)留一個CPU給系統(tǒng)使用,一般把cpu0給系統(tǒng)使用。


2)?? ?評定應(yīng)用的優(yōu)先級,更重要的任務(wù)擁有更高的優(yōu)先級,不要使用優(yōu)先級99,盡可能使用較低的優(yōu)先級。一般原則為,在滿足實時要求下給予一個進(jìn)程最低的優(yōu)先級。由于SCHED_FIFO調(diào)度策略在線程沒有主動釋放CPU時不會被強行搶占,高優(yōu)先級的SCHED_FIFO有可能會影響重要的內(nèi)核線程。
3)?? ?周期性發(fā)生的中斷和相關(guān)線程可綁定相同的CPU,最大限度的使用cache共享。
4)?? ?確定IRQ的優(yōu)先級,一般來說NIC中斷要高于USB中斷。
5)?? ?把應(yīng)用和對應(yīng)產(chǎn)生的IRQ綁定到相同CPU。


二、系統(tǒng)tuning項

1.BIOS options

對BIOS的基本調(diào)整原則為
? ? 1) ?? ?關(guān)閉一切電源管理相關(guān)選項,禁止系統(tǒng)通過任何手段進(jìn)行降頻、節(jié)能等操作。一切此類操作都會對系統(tǒng)性能產(chǎn)生影響,同時充滿各類不確定性,可能產(chǎn)生各種延遲。
?? ?2) 關(guān)閉一切與SMI中斷有關(guān)的BIOS選項。X86處理器可以通過SMI中斷進(jìn)入SMM模式,執(zhí)行BIOS指定的代碼,該特性經(jīng)常用于實現(xiàn)各類硬件異常檢測與日志功能。由于此類中斷繞過了操作系統(tǒng),在操作系統(tǒng)層面不容易檢測到,可能會產(chǎn)生較大延遲。rt-tests包中提供了hwlatdetect工具可以監(jiān)測此類中斷產(chǎn)生的延遲。

X86主板BIOS中常見選項:
1)?? ?Power Management
????????a)?? ?Intel SpeedStep//一個通過降低CPU運行主頻來達(dá)到降低功耗的技術(shù)
????????b)?? ?AMD PowerNow//省熱降頻
2)?? ?System Management Interrupts (SMI)/ System management mode//系統(tǒng)管理模式SMM
????????a)?? ?Not handled by OS, handled by BIOS code
????????b)?? ?Used by many system services
????????–?? ?Thermal management//溫度管理
????????–?? ?Error Detection and Correction(EDAC)//錯誤檢測與糾正單元
????????–?? ?IPMI(Intelligent Platform Management Interface)//智能平臺管理接口,管理基于 Intel結(jié)構(gòu)的企業(yè)系統(tǒng)中所使用的外圍設(shè)備采用的一種工業(yè)標(biāo)準(zhǔn),用戶可以利用IPMI監(jiān)視服務(wù)器的物理健康特征,如溫度、電壓、風(fēng)扇工作狀態(tài)、電源狀態(tài)。IPMI 信息通過基板管理控制器 (BMC)(位于 IPMI 規(guī)格的硬件組件上)進(jìn)行交流。

2.System Services/SELinux

對系統(tǒng)服務(wù)調(diào)整的原則為盡量關(guān)閉一切無關(guān)系統(tǒng)服務(wù),系統(tǒng)安裝時可能會默認(rèn)安裝并啟動一些與實時任務(wù)無關(guān)的系統(tǒng)任務(wù),如sendmail(郵件服務(wù))等等。與此同時,需要關(guān)閉一些與電源管理和負(fù)載均衡相關(guān)的系統(tǒng)服務(wù)。

關(guān)閉相關(guān)服務(wù):
1)?? ?Cpuspeed – 控制電源管理相關(guān)的特性
2)?? ?Irqbalance – 根據(jù)負(fù)載情況動態(tài)分配中斷
3)?? ?pcscd

# /sbin/chkconfig cpuspeed off # systemctl stop irqbalance # systemctl disable irqbalance # systemctl disable pcscd # systemctl stop pcscd


SELinux會對大部分系統(tǒng)操作進(jìn)行權(quán)限檢查,增加額外開銷,導(dǎo)致關(guān)機時間變長,所以部署系統(tǒng)一定要關(guān)閉SELinux。可以修改/etc/selinux/config文件,將SELINUX字段設(shè)置為disabled。
?

3.Cores/NUMA memory nodes

由于現(xiàn)代的SMP系統(tǒng)擁有大量的CPU,內(nèi)存訪問成了系統(tǒng)整體的瓶頸,NUMA架構(gòu)就是這個背景下的產(chǎn)物。NUMA(Non-uniform memory access)是一種內(nèi)存模型,在這個模型下,系統(tǒng)中每個CPU對于各個內(nèi)存區(qū)域的訪問速度是不一樣的。將每個CPU訪問速度最快的內(nèi)存區(qū)域稱為它的本地內(nèi)存,訪問較慢的內(nèi)存稱為遠(yuǎn)內(nèi)存。Linux中使用Node表示這樣的內(nèi)存區(qū)域。對于互相關(guān)聯(lián)的進(jìn)程或線程(如存在共享內(nèi)存,進(jìn)程間通信等),盡量分配到同一個NUMA節(jié)點中。?
進(jìn)程從一個CPU的調(diào)度隊列(Run Queue)被轉(zhuǎn)移至另一個CPU的調(diào)度隊列的操作被Linux內(nèi)核稱為Migration。在實時系統(tǒng)中,需要盡量避免這樣的操作,被轉(zhuǎn)移的任務(wù)在新的CPU上被第一次執(zhí)行時,新的CPU需要重新建立TLB緩存,以及CPU本地cache,會有比較大的延遲。
對于實時系統(tǒng),可以將一部分CPU從系統(tǒng)整體中隔離開來,專門用于執(zhí)行實時任務(wù),這樣可以減小實時任務(wù)被系統(tǒng)任務(wù)干擾的可能。
?? ?partrt工具可以將SMP系統(tǒng)中的CPU核心劃分成兩個部分,一個部分為實時部分,默認(rèn)稱為rt,另一部分用于運行非實時任務(wù),默認(rèn)稱為nrt。其具體原理為使用cgroup中的cpuset子系統(tǒng)進(jìn)行CPU的再分配。常見操作舉例,假設(shè)系統(tǒng)有0-40號CPU:
??

?partrt create ‘#10-39’ ? ? ? // 將系統(tǒng)中10-39號CPU隔離出來,用以執(zhí)行實時任務(wù)// 10-39號用于執(zhí)行實時任務(wù)的cpu集合稱為rt,其余為nrt


創(chuàng)建的rt集合默認(rèn)是關(guān)閉SMP負(fù)載均衡的,即一個進(jìn)程在某個CPU上開始運行后不會被遷移到其他的CPU上。可以使用:
??

?partrt config sched_load_balance 1


開啟SMP負(fù)載均衡。

partrt move $$ rt?? ?// 將當(dāng)前shell進(jìn)程移動到rt中,之后此shell運行的命令 // 都會自動被分配到rt中


4.Timers//計時器選擇

1)?? ?Realtime中使用tsc(Timestamp Counter Register)
grub參數(shù):clocksource=tsc
powernow-k8.tscsync=1 //AMD速龍CPU頻率同步轉(zhuǎn)換

5.其他內(nèi)核啟動參數(shù)


1)?? ?idle=poll //禁止cpu進(jìn)入idle狀態(tài),更小的延遲,帶來更高的能量損耗
2)?? ?processor.max_cstate=1 //禁止時鐘進(jìn)入c-state
3)?? ?nohz=on //在特定情況下停止系統(tǒng)時鐘中斷。
4)?? ?nosoftlockup //阻止內(nèi)核使用soft lockup
5)?? ?intel_pstate=disable//禁止intel idle驅(qū)動進(jìn)行電源管理和CPU頻率調(diào)整
?

6.Journal fs


文件系統(tǒng)的日志功能會增加文件寫入以及文件屬性修改的不確定性,可以修改/etc/fstab文件中的文件系統(tǒng)掛載選項禁用掉atime和diratime。
禁止更新xfs日志文件系統(tǒng)的atime(文件最后訪問讀取時間)和nodiratime(目錄最后訪問讀取時間)。

#vim /etc/fstab /dev/mapper/kylin-root ?/?? ? xfs ? ? noatime,nodiratime ? ? ? ?0 0?


7.避免運行額外程序


1)?? ?使用多用戶模式,關(guān)閉圖形界面:

# systemctl set-defaul t multi-user. target


2)?? ?禁用sendmail服務(wù)
3)?? ?禁用Remote Procedure Calls (RPCs)
4)?? ?禁用Network File System (NFS)
5)?? ?禁用Mouse Services
?? ?如果不使用圖形界面,取消鼠標(biāo)設(shè)備,卸載gpm
6)?? ?Automated tasks
?? ?檢查cron或at任務(wù)。
?

8.內(nèi)存交換(menory swapping)


1)?? ?確保系統(tǒng)有足夠的內(nèi)存,vmstat中si、so最好是0。
2)?? ?Out of Memory ( OOM)
OOM時,推薦使內(nèi)核進(jìn)入panic,而不是用oom_killer。因為OOM狀態(tài)下,系統(tǒng)具有不確定性。

#echo 1 > /proc/sys/vm/panic_on_oom /proc/PID/ oom_adj、/proc/PID/ oom_score ?//決定oom_killer殺掉進(jìn)程的2個參數(shù)


9.網(wǎng)絡(luò)


1)?? ?考慮是否必須用TCP。TCP協(xié)議的重傳,Nagle算法,建立及關(guān)閉存在不確定性,在協(xié)議層面上就有高延遲的可能。
2)?? ?考慮在socket編程中使用TCP_NODELAY套接字選項禁用Nagle buffering algorithm。
3)?? ?Interrupt Coalescing //ethtool –C
4)?? ?Congestion //ethtool –A
5)?? ?使用Infiniband(IB)
6)?? ?設(shè)置/etc/sysctl.conf

net.ipv4.tcp_timestamps = 0 //關(guān)閉timestamps net.ipv4.tcp_ato_min = 4 // The ACK timeout interval (ATO),ACK超時時間 net.ipv4.tcp_delack_min = 4 //Delayed ACK


7)?? ?使用RoCEE (RDMA over Converged Enhanced Ethernet)and High Performance Net working

10.Syslog


1)?? ?禁用syslogd

#service rsyslog stop


2)?? ?必須使用時請設(shè)置合適的syslog日志上傳時間。

11.OTHER migration


1)?? ?Using sched _nr_migrate to Limit SCHED _OTHER Task Migration//限制使用OTHER調(diào)度策略的進(jìn)程轉(zhuǎn)移到空閑CPU

# echo 2 > /proc/sys/kernel/sched_nr_migrate


12.實時調(diào)度節(jié)流


1)?? ?/proc/sys/kernel /sched_rt_period_us //設(shè)置實時進(jìn)程使用CPU的帶寬
2)?? ?/proc/sys/kernel/sched_rt_runtime_us //設(shè)置實時進(jìn)程使用CPU的百分比
?

三、實時應(yīng)用程序調(diào)優(yōu)


1)?? ?避免使用POSIX signals。使用POSIX Threads運行工作線程或通信。
2)?? ?避免使用sched _yield系統(tǒng)調(diào)用和其他同步機制。
3)?? ?互斥鎖處理。使用POSIX thread (pthread) mutex constructs。
4)?? ?Socket編程中使用TCP_NODELAY、TCP_CORK選項。
5)?? ?使用rtctl設(shè)定調(diào)度優(yōu)先權(quán)。
6)?? ?程序開始時加載動態(tài)鏈接庫。
7)?? ?使用_COARSE POSIX Clocks。

四、附錄

  • 參數(shù)的持久化方法


直接修改/proc/sys/目錄下對應(yīng)的文件的值只作用于當(dāng)前運行狀態(tài),在系統(tǒng)重新啟動之后就會失效。可以通過修改/etc/sysctl.conf文件的值將修改持久化,使得系統(tǒng)重新啟動之后仍然保留這些設(shè)置。具體方法如下:

以/proc/sys/kernel/sched_rt_runtime_us文件為例,首先將/proc/sys/前綴去掉,得到kernel/sched_rt_runtime_us。然后將/替換為.得到kernel.sched_rt_runtime_us最后在/etc/sysctl.conf文件中寫入
kernel.sched_rt_runtime_us = <對應(yīng)的值>

這樣一行即可。

  • grub.conf內(nèi)核命令行參數(shù)舉例
clocksource=tsc idle=poll processor.max_cstate=1 intel_pstate=disable nosoftlockup nohz=on rcu_nocb_poll
  • 調(diào)優(yōu)實例

1、修改內(nèi)核參數(shù)
?? ?grub里增加參數(shù):
??

clocksource=tsc idle=poll process.max_cstate=1 intel_pstate=disable nosoftlockup nohz=on rcu_nocb_poll


2、修改/etc/sysctl.conf
?? ?增加:?

?net.core.rmem_max = 21000000net.core.wmem_max = 21000000net.core.rmem_default = 20000000net.core.wmem_default = 20000000net.ipv4.udp_mem = 3072960 20000000 21000000net.ipv4.tcp_timestamps = 0net.ipv4.tcp_ato_min = 4net.ipv4.tcp_delack_min = 4kernel.sched_nr_migrate = 2

3、關(guān)閉selinux
?? ?修改/etc/selinux/config:
??

?SELINUX=disabled


4、關(guān)閉服務(wù)

?? ?chkconfig cpuspeed offchkconfig irqbalance off


5、BIOS里把IPMI關(guān)閉了
?? ?powermanager關(guān)閉
?? ?超線程關(guān)閉
6、vim /etc/fstab
??

?/dev/mapper/kylin-root ?/ ? ? ? ? ?xfs ? ? noatime,nodiratime ? ? ? ?0 0


?

總結(jié)

以上是生活随笔為你收集整理的湖南麒麟实时操作系统调优指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费黄色国产 | 麻豆精品a∨在线观看 | 国产亚洲欧美日韩精品一区二区三区 | 欧美中文视频 | 色综合五月 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美cccc极品丰满hd | 久草资源福利 | 欧美日韩一区二区三区四区五区六区 | 婷婷色中文字幕 | 国产精品嫩草久久久久 | 国产一级做a | 9i免费看片黄| 色片免费看| 久久免费久久 | 91免费国产| 中文字幕精品一区二区精品 | 成人毛片在线免费观看 | 亚洲五十路 | 国产熟女高潮一区二区三区 | 精品无码国产污污污在线观看 | 中国一级黄色 | 国产极品久久 | 肉色欧美久久久久久久免费看 | 国产精品久久久久久福利 | 国产深夜视频 | 国产ts人妖调教重口男 | 91久久婷婷 | 成人久久久精品国产乱码一区二区 | 超碰免费公开在线 | 一级成人免费视频 | a v视频在线观看 | 男女日批| 波多野结衣简介 | 亚洲九九九九 | 色婷婷久久 | a级网站在线观看 | 中文字幕一区二区三区不卡 | 免费黄色网址在线观看 | 亚洲第9页 | 五月婷婷六月色 | 精品国模一区二区三区 | 成人av图片 | free女性xx性老大太 | 69国产视频 | 国产真实乱 | 亚洲性综合| 久久美女av| 自拍偷拍亚洲图片 | 国偷自产视频一区二区久 | av最新在线| 亚洲精品自拍 | 欧洲美女av | 性生活毛片| 午夜av网站 | 亚洲视频色 | 手机看片日韩欧美 | 深爱激情五月婷婷 | 韩国伦理在线 | 久久成人福利 | 性欧美一区 | 国产av不卡一区二区 | 欧美黄色免费网站 | 播放毛片| 四虎成人永久免费视频 | 狠狠的日 | 一区二区三区小说 | 久久偷拍免费视频 | av一本在线 | 欧美在线视频第一页 | 婷婷四房综合激情五月 | 亚洲欧洲精品成人久久奇米网 | 欧美韩国日本在线 | 8x8ⅹ8成人免费视频观看 | 久久久久久一区二区三区 | 国产91一区二区三区 | 97精品视频在线观看 | 真人一及毛片 | 日韩国产一区二区三区 | 成人在线免费看视频 | 纯爱无遮挡h肉动漫在线播放 | 春色av| 涩涩涩在线视频 | 美国av大片| 亚洲国产成人在线视频 | 国产亚洲一区在线 | 麻豆av在线 | 欧美91精品久久久久国产性生爱 | 亚洲精品电影在线 | 九九热国产视频 | 精品视频免费 | 国产精品白浆一区二小说 | 午夜免费福利在线观看 | 一级a性色生活片久久毛片 爱爱高潮视频 | 欧美日韩在线视频一区二区 | 天天躁日日躁狠狠躁伊人 | 日韩av色 | 国产激情综合五月久久 | 麻豆网站入口 |