如果您對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 3內核 | 在DDoS高防等FullNAT場景下,客戶端地址會被轉換成FullNAT節點的地址。安裝了 |
存儲
文檔鏈接 | 支持版本 | 說明 |
| 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的功能。 | |
| Linux系統采用預讀(readahead)技術以加速文件緩存訪問(buffer IO)模式。同時,系統還支持上下文預讀(context readahead),旨在優化多個交錯順序數據流場景下的文件訪問性能。然而,在某些隨機訪問場景中,上下文預讀算法可能出現誤判,導致讀取過多實際不需要的頁面。在這類場景下,關閉上下文預讀算法能顯著提升應用性能。 | |
Alibaba Cloud Linux 3內核 | TCM是Linux IO Target即LIO的別稱,是內核態的iSCSI target。TCMU(TCM in Userspace)是LIO的用戶態實現,允許用戶程序方便地對接各種用戶態后端實現。基于TCMU框架和LIO loopback即tcm_loop模塊,可以很方便地實現用戶態iSCSI target。 |
監控
文檔鏈接 | 支持版本 | 說明 |
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在內核層面提供了容器資源視圖功能的相關接口,實現對容器資源的可見性增強。 | |
| Linux支持用戶命名空間(user namespace)特性,以實現進程在不同用戶命名空間中擁有不同的用戶ID(user id)與組ID(group id),進而實現權限隔離。然而,開啟用戶命名空間會增加系統面臨權限提升攻擊的風險(攻擊者可能通過系統漏洞實現權限提升,從而獲得特權權限,逃脫系統的權限控制)。 |