iT邦幫忙

DAY 19
2

Linux系統效能調教系列 第 19

Linux系統效能分析與探討 - [19] 多核心的記憶體管理狀態 - numactl與numastat

Linux系統支援NUMA架構,使用者可以透過numactlnumastat命令來查看NUMA的狀況。
多核心(SMP)的CPU已經非常普及了,而且隨著虛擬化與雲端設備的需求日增,電腦的CPU核心數量只會越來越多。但是程式要在多個CPU核心上執行時,就會多出訊息傳遞的工作要進行,譬如說某個核心執行部分運算結果,平行處理之後就需要把結果集中或傳遞給其他在核心上執行的程式。所以當核心增加,其資料傳遞的副作用也就會增加。現在的多核心系統採用NUMA (Non-Uniform Memory Access)的設計來降低核心間資料傳輸的複雜度,也就是將系統切割成數個node,讓每一個node有自己的記憶體與cache區塊(速度較快),再透過numa管理機制來協調每個node之間的資料交換(速度較慢)。

Linux系統支援NUMA架構,使用者可以透過numactlnumastat命令來查看NUMA的狀況。

numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 
cpubind: 0 
nodebind: 0 
membind: 0

numastat 
                           node0
numa_hit                 1406218
numa_miss                      0
numa_foreign                   0
interleave_hit             47223
local_node               1406218
other_node                     0

上圖顯示,我的系統擁有24個核心**(physcpubind:),但目前只設定成單一node(nodebind: 0)。也就是這樣node間的記憶體數量與失誤才都是0(numa_miss, numa_foreign, other_node)**。

[本系列文章]
Linux系統效能分析與探討 - [1] CPU的效能關鍵字
Linux系統效能分析與探討 - [2] 記憶體的效能關鍵字
Linux系統效能分析與探討 - [3] Linux作業系統網路模組的效能關鍵字
Linux系統效能分析與探討 - [4] Linux block device的效能關鍵字
Linux系統效能分析與探討 - [5] 了解process的運作的指令 1 - ps
Linux系統效能分析與探討 - [6] 了解process的運作的指令2 - top
Linux系統效能分析與探討 - [7] 了解process的運作的指令3 - pstree
Linux系統效能分析與探討 - [8] 了解process使用記憶體的狀況 - pmap
Linux系統效能分析與探討 - [9] 顯示系統的附載狀況 - uptime, w
Linux系統效能分析與探討 - [10] 顯示系統的狀態 - vmstat
Linux系統效能分析與探討 - [11] 檢視記憶體的使用狀況 - free
Linux系統效能分析與探討 - [12] 取得詳細記憶體資訊 - cat /proc/meminfo
Linux系統效能分析與探討 - [13] Kernel slab cache的資訊 - slabtop
Linux系統效能分析與探討 - [14] Kernel buddy system 的內容 - /proc/buddyinfo
Linux系統效能分析與探討 - [15] slabinfo
Linux系統效能分析與探討 - [16] 系統使用狀態: mpstat, sar
Linux系統效能分析與探討 - [17] CPU與disk的狀態 - iostat
Linux系統效能分析與探討 - [18] 更豐富的iostat內容


上一篇
Linux系統效能分析與探討 - [18] 更豐富的iostat內容
下一篇
Linux系統效能分析與探討 - [20] 豪華的系統監看工具 - nmon
系列文
Linux系統效能調教31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言