如果您對Linux的核心系統有一定的瞭解,並且需要使用Linux核心功能,可以通過本文瞭解Alibaba Cloud Linux已支援的核心功能與介面。
記憶體
文檔連結 | 支援版本 | 說明 |
| Alibaba Cloud Linux所支援的Memcg Exstat功能,相較於社區版核心額外在cgroup v1介面支援了memory.events、memory.events.local及memory.stat介面,並增加了memcg全域最低水位調整產生的延遲統計和後台非同步回收產生的延遲統計。 | |
| Alibaba Cloud Linux新增了memcg全域最低水位線分級功能。在global wmark_min的基礎上,將資源消耗型任務的global wmark_min上移,使其提前進入直接記憶體回收。將時延敏感型業務的global wmark_min下移,使其盡量避免直接記憶體回收。這樣當資源消耗型任務瞬間申請大量記憶體的時候,會通過上移的global wmark_min將其短時間抑制,避免時延敏感型業務發生直接記憶體回收。等待全域kswapd回收一定量的記憶體後,再解除資源消耗型任務的短時間抑制。 | |
| 記憶體子系統服務品質(memcg QoS)可以用來控制記憶體子系統(memcg)的記憶體使用量量的保證(鎖定)與限制。在社區版核心中只有cgroup v2介面支援該功能,Alibaba Cloud Linux中新增cgroup v1介面支援memcg QoS的相關功能。 | |
| Alibaba Cloud Linux增加了memcg粒度的後台非同步回收功能。該功能的實現不同於全域kswapd核心線程的實現,並沒有建立對應的memcg kswapd核心線程,而是採用了workqueue機制來實現。 | |
| Alibaba Cloud Linux新增memcg OOM優先順序策略功能。該功能在進行OOM操作時,會首先判定cgroup的優先順序,選擇低優先順序的cgroup進行OOM操作。 | |
| Alibaba Cloud Linux增加了THP reclaim功能,用於解決因透明大頁THP帶來的記憶體問題(例如OOM)。 | |
| Alibaba Cloud Linux支援代碼大頁功能。該功能主要為大程式碼片段商務服務,您可以通過該功能將應用程式和動態連結程式庫的可執行部分放入到大頁中,降低程式的iTLB miss,提升CPU的2 MB iTLB利用率,從而提升程式效能。 | |
Alibaba Cloud Linux 3核心版本 | Alibaba Cloud Linux 3支援KFENCE功能,它能夠靈活動態開關KFENCE和全量捕獲記憶體汙染問題,從而兼顧線上探測和線下調試。 | |
Alibaba Cloud Linux 3核心版本 | Alibaba Cloud Linux 3增加了Page Cache(檔案快取)限制功能,用於解決因Page Cache無限制使用帶來的系統穩定性問題,例如業務抖動、預期外的記憶體溢出OOM等。 | |
Alibaba Cloud Linux 3核心版本 | 在NUMA架構(尤其是ARM執行個體)中,不同NUMA節點具有各自的本地記憶體,當一個NUMA節點上的程式或進程需要訪問其他NUMA節點的程式碼片段時,就會引入額外的延遲和效能開銷。通過代碼多副本功能,可以將遠程節點的程式碼片段複製到本地節點,避免了跨節點訪問,從而解決NUMA架構中因跨節點訪問帶來的效能延遲問題。 |
網路
文檔連結 | 支援版本 | 說明 |
Alibaba Cloud Linux 3核心版本 | Alibaba Cloud Linux 3作業系統增加了對SMC-R的支援,基於阿里雲彈性RDMA技術,實現對TCP應用透明無損的替換,為記憶體資料庫、RPC、大檔案傳輸等情境提供相比TCP更好的效能。 | |
| Alibaba Cloud Linux支援TCP層的服務監控功能(TCP-RT)。TCP-RT本質是一種trace方式。通過在核心TCP協議棧中相應的位置設定埋點,可以在單個串連上只有一個並發請求與響應的情境下識別出請求與響應,進而擷取請求在協議棧中接收的時間及服務進程處理過程中的耗時等資料資訊。此外,TCP-RT還支援在核心系統中做統計分析,定期輸出指定串連的統計資訊。 | |
| 在Linux的核心中,TCP/IP協議的TIME-WAIT狀態持續60秒且無法修改。但在某些情境下,例如TCP負載過高時,適當調小該值有助於提升網路效能。因此Alibaba Cloud Linux新增核心介面,用於修改TCP TIME-WAIT逾時時間。 | |
| 使用Linux的IPVS模組時,IPVS會預設啟用其estimation功能,當伺服器規格較大且Service數量多時(例如,容器Kubernetes大規模叢集情境),該功能可能導致服務端的網路請求出現幾十到上百毫秒的延時或引起網路抖動。Alibaba Cloud Linux鏡像提供了關閉IPVS的estimation功能的能力,若您不依賴estimation統計資料包數、串連數等資訊,建議關閉IPVS的estimation功能,以消除由於統計帶來的額外開銷和抖動問題。 |
儲存
文檔連結 | 支援版本 | 說明 |
| Alibaba Cloud Linux對核心介面cgroup v1增加了控制群組回寫(cgroup writeback)功能。該功能使您在使用核心介面cgroup v1時,可以對緩衝非同步I/O (Buffered I/O) 進行限速。 | |
| Alibaba Cloud Linux支援基於成本模型(cost model)的權重限速功能,即blk-iocost功能。該功能是對核心中IO子系統(blkcg)基於權重的磁碟限速功能的進一步完善。 | |
| 為了更方便地監控Linux block IO限流,Alibaba Cloud Linux增加相關介面,用於增強block IO限流的監控統計能力。 | |
| JBD2作為ext4檔案系統的核心線程,在使用過程中常會遇到影子狀態(BH_Shadow),影響系統效能。為解決使用JBD2過程中出現的異常,Alibaba Cloud Linux對JBD2進行了最佳化。 | |
| 預設情況下,ext4檔案系統中存在約束,不允許跨目錄配額建立永久連結。但在實際中,某些特定情境有建立永久連結的需求,因此Alibaba Cloud Linux提供定製介面,該介面能夠繞過ext4檔案系統中的約束,實現跨目錄配額建立永久連結。 | |
| Alibaba Cloud Linux最佳化了IO時延分析工具iostat的未經處理資料來源/proc/diskstats介面,增加了對裝置側的讀、寫及特殊IO(discard)等耗時的統計,此外還提供了一個方便追蹤IO時延的工具bcc。 | |
| IO hang是指在系統運行過程中,因某些IO耗時過長而引起的系統不穩定甚至宕機。為了準確檢測出IO hang,Alibaba Cloud Linux擴充核心資料結構,增加了在較小的系統開銷下,快速定位並檢測IO hang的功能。 |
監控
文檔連結 | 支援版本 | 說明 |
Alibaba Cloud Linux 3核心版本 | Alibaba Cloud Linux 3在核心版本 | |
| Alibaba Cloud Linux為cgroup v1介面提供了PSI功能。PSI(Pressure Stall Information)是一個可以監控CPU、記憶體及IO效能異常的核心功能。 |
調度
文檔連結 | 支援版本 | 說明 |
| Alibaba Cloud Linux為cgroup v1介面提供了CPU Burst功能。CPU Burst功能允許容器被CPU限流時,突發使用CPU資源,進而提升容器效能、降低系統的延遲指標。 | |
| Alibaba Cloud Linux支援Group Identity功能,您可以通過該功能為每一個CPU cgroup設定不同的身份標識,以區分不同CPU cgroup中進程任務的優先順序。 |
相容性
文檔連結 | 支援版本 | 說明 |
| Alibaba Cloud Linux作業系統在核心 |
其他
文檔連結 | 支援版本 | 說明 |
| Alibaba Cloud Linux在核心層面提供了容器資源檢視功能的相關介面,實現對容器資源的可見度增強。 |