今天,我們來學習AIX系統的知識。前環境的可用 CPU 資源以後,可以對AIX系統監控的對象和方法進行規劃。多數情況下,操作系統提供的命令輸出提供邏輯處理器 (Logical CPU) 的信息。
在 IBM eServer pSeries 服務器和 BladeCenter JS 刀片服務器中,邏輯處理器通常通過並行多線程技術實現。下文是對該技術在 AIX系統中應用的介紹。
AIX系統並行多線程的查詢和設置
並行多線程 (Simultaneous Multi-threading,簡稱 SMT) 是一種基於超標量 (superscalar) 體系結構處理器的技術,允許多個獨立的線程在一個時鐘周期內對多個功能處理單元 (Functional Unit) 發出指令。
通常情況下,AIX系統線程和功能處理單元的綁定是完全動態的。使用這項技術可以較明顯的提高處理器的的實際利用率,進而表現出更強的運算性能。在 AIX 操作系統上,我們可以通過 smtctl 命令來查詢和設置並行多線程的運行狀態。
清單 5. 運行 smtctl 查詢處理器對 SMT 技術的支持和當前的設置
- $ smtctl
- This system is SMT capable.
- SMT is currently enabled.
- SMT boot mode is not set.
- SMT threads are bound to the same physical processor.
- proc0 has 2 SMT threads.
- Bind processor 0 is bound with proc0
- Bind processor 1 is bound with proc0
- proc2 has 2 SMT threads.
- Bind processor 2 is bound with proc2
- Bind processor 3 is bound with proc2
- proc4 has 2 SMT threads.
- Bind processor 4 is bound with proc4
- Bind processor 5 is bound with proc4
- proc6 has 2 SMT threads.
- Bind processor 6 is bound with proc6
- Bind processor 7 is bound with proc6
命令的結果說明了當前AIX系統支持 SMT 技術,而且當前正在使用。後面的多行輸出中詳細說明了邏輯處理器和虛擬處理器之間的對應關系。系統中有四個可用的虛擬處理器 (Virtual CPU),因為開啟了 SMT (Simultaneous MultiThreading) 功能,可以識別出八個邏輯上的虛擬處理器 (Logical CPU)。
在缺省情況下,AIX系統中的 SMT 應被使用以增強性能。當用戶需要調整系統的 SMT 設置時,同樣可以使用 smtctl 命令。具體參數請查閱命令說明。在負載分區情況下,SMT 設置不允許被直接修改。
用戶需要對負載分區的宿主機修改 SMT 配置,這會對AIX系統中的所有負載分區生效。而在微分區環境下,用戶可以自主調整並行多線程的配置。