章 2. Kernel

光纖通道通訊協定:端對端資料一致性的檢查

在 RHEL 6.4 中加入了 zFCP 特定的部份至 T10 DIF SCSI 標準中,以進行端對端資料一致性的檢查,使得主介面卡與儲存伺服器之間的資料完整性已經更為精進。

IBM System z 對 Flash Express 的支援

IBM System z 的 Storage-Class Memory (SCM) for IBM System z 是資料儲存裝置的一個類別,它結合了儲存裝置與記憶體的屬性。現在 System z 的 SCM 支援 Flash Express 記憶體。SCM 的增加可以透過 EADM(Extended Asynchronous Data Mover)子通道來存取。每個增加都由區塊裝置來呈現。這功能改善了切換分頁的速率,以及暫存空間的存取效能,例如資料倉儲。

Open vSwitch Kernel 模組

Red Hat Enterprise Linux 6.4 包含了 Open vSwitch kernel 模組,作為 Red Hat 的階層性產品。Open vSwitch 只有在與包含了相應的使用者空間工具程式鄉結合時,才富支援性。請注意,沒有這些所需的使用者空間工具程式,Open vSwitch 將無法運作,也無法被啟用。欲知更多詳情,請參閱以下知識庫文章:https://access.redhat.com/knowledge/articles/270223

已啟動與已傾印系統的比較

這功能能讓你比較已啟動的系統,以及已傾印的系統,以有效分析映像檔轉移時的變更。要分辨客座端,會使用 stsistfle 資料。新功能 lgr_info_log() 會比較現有的資料(lgr_info_cur)與最新的資料(lgr_info_last)。

更新 Perf 工具

perf 工具已經更新至上游版本 3.6-rc7,修正了大量 bug,並加入許多功能。以下是較重要的新增功能:
  • 新增對 Kprobe 的事件支援。
  • 已納入新的 perf 事件命令列語法引擎,能讓大括號({})用來定義事件群組,例如:{cycles,cache-misses}
  • perf 附註瀏覽器的功能已經加強,以允許透過 ASM 呼叫與跳躍來探索瀏覽。
  • perf 工具已經更新,透過 --uid 命令列選項提供每個使用者的檢視視角。使用時,perf 只會顯示特定使用者的任務。shows tasks for a specified user only.
  • perf 工具現在提供了更多種自動測試。

支援 Uncore PMU

Red Hat Enterprise Linux 6.4 中的 kernel 新增了「uncore」效能偵測監控單元(PMU,Performance Monitoring Unit),支援 Intel Xeon 處理器 X55xx 與 X56xx 家族的perf 事件子系統。「uncore」指得是實體處理器套件中的子系統,用來在多個處理器核心中共享,例如 L3 快取。有了對 uncore PMU 的支援,效能資料可以很輕易地在套件階層收集到。
PMU 事件剖析也已經啟用,使用者可透過 perf 進行偵錯。

降低 memcg 的記憶體負載

記憶體控制群組會維護其自己的「最近使用」(LRU,Least Recently Used)清單至諸如回收記憶體。這清單置於全域每個區域的 LRU 清單之上。在 Red Hat Enterprise Linux 6.4 中,memcg 的記憶體負載已經透過停用全域每個區域的 LRU 清單,並轉換其使用者至每個記憶體 cgroup 清單,而有所降低。

回收、壓縮記憶體

Red Hat Enterprise Linux 6.4 的 kernel 使用回收與壓縮技術,處理高順序的分配需求,或低記憶壓力。

支援 Transactional Execution Facility 與 Runtime Instrumentation Facility

在 Linux kernel 中加入 Transactional-Execution Facility(可在 IBM zEnterprise EC12 中找到)有助於降低軟體鎖定、進而對效能產生影響,並提供擴充性與平行性已達成更高的交易量。支援 Runtime Instrumentation Facility(可在 IBM zEnterprise EC12 中找到)提供了先進的機制給 profile 程式碼使用,以改進新 IBM JVM 所產生的程式碼的分析與最佳化功能。

失敗-開啟模式

Red Hat Enterprise Linux 6.4 新增了使用 netfilter 的 NFQUEUE 目標時的「失敗-開啟模式」(fail-open mode)。這模式允許使用者在網路運量高的時候,暫時停用檢驗套件的功能,並維持連線。

完整支援 IBM System z 的 kdump 與 kexec Kernel 傾印機制

在 RHEL 6.4 中,除了 IBM System z 的單機與 hypervisor 傾印機制之外,IBM System z 系統的 kdump/kexec kernel 完整傾印機制也已啟用。自動預留的門檻值已設為 4 GB;因此任何擁有超過 4 GB 記憶體的 IBM System z 系統,皆會啟用 kdump/kexec 機制。
因為 kdump 預設上大約保留 128 MB 的記憶體,因此您必須擁有足夠的記憶體。這在升級 RHEL 6.4 時非常重要。如果系統當機,那麼系統上也需要足夠的磁碟空間。
您可以透過 /etc/kdump.confsystem-config-kdump、或 firstboot 來配置或停用 kdump。

用於 KVM 的 TSC Deadline 支援

TSC deadline 計數器是本機 APIC(LAPIC)計數器的新模式,它會根據 TSC deadline 產生一次性的中斷,代替目前的 APIC 時脈計數間隔。它提供了更精確的計時器中斷(低於一次滴答),讓作業系統的排程程式更為精準。現在 KVM 會將這像功能轉給客座端使用。

一致的裝置名稱

這功能儲存了裝置名稱的對應(例如 sda, sdb 等)以及一致的裝置名稱(由 /dev/disk/by-*/udev 提供)至 kernel 訊息。這允許使用者從 kernel 訊息辨明裝置。kernel 的 /dev/kmsg 日誌可以透過 dmesg 命令顯示,現在也會顯示符號連結(udev 為 kernel 裝置所建立)的資訊。這些訊息會以以下格式顯示:
udev-alias: <device_name> (<symbolic_link> <symbolic link> …)
任何日誌分析程式都可以顯示這些訊息,同時也透過 syslog 儲存在 /var/log/messages 中。

新的 linuxptp 套件

Red Hat Enterprise Linux 6.4 裡的 linuxptp 套件是技術搶鮮版,為根據 IEEE 標準規格 1588,專為 Linux 設計的精確時間通訊協定(PTP,Precision Time Protocol)。雙設計的目標是為了提供穩固的標準實作,並用於 Linux kernel 所提供的常用、先進的 API 上。支援舊式 API 與其他平台並非目標。

通透 Hugepage 的文件

關於通透 hugepages 的相關文件,已經加入以下檔案:
/usr/share/doc/kernel-doc-<version>/Documentation/vm/transhuge.txt

對 Dump 目標的支援狀態

在 RHEL 6.4 中,/usr/share/doc/kexec-tools-2.0.0/kexec-kdump-howto.txt 檔案提供了完整的支援、不支援、與未知的 dump 目標清單,位於「Dump Target support status」之下。