我正在AMD阿布扎比架構上執行多線程程序,它有8個NUMA域。我正在使用numactl在不同核心中分配線程,並嘗試使用不同的內存策略。我想測量由NUMA域安排的緩存未命中/命中,但是使用像perf這樣的工具獲得了總計數器。我已經瀏覽過numastat,likwid和hpctoolkit等工具。你知道有哪些工具可以獲得由NUMA域隔開的標準性能計數器嗎?測量Linux中NUMA節點緩存未命中/命中的工具?
1
A
回答
1
numastat不足以滿足您的需求嗎?
>numastat
node0 node1 node2 node3
numa_hit 2511148413 2668024472 2541805396 2631938751
numa_miss 687767 186973 510852 79546
numa_foreign 544853 1772504 1306738 1461626
interleave_hit 14268 14291 14281 14309
local_node 2509822983 2667700745 2541325673 2631417570
other_node 2013197 510700 990575 600727
node4 node5 node6 node7
numa_hit 2551615375 2287945142 2199394273 2506262343
numa_miss 1178554 1863536 2037710 1278384
numa_foreign 1709984 541463 241266 244888
interleave_hit 14287 14274 14291 14294
local_node 2551212630 2278515165 2198877939 2505436756
other_node 1581299 11293513 2554044 2103971
+0
嗨,謝謝你的回答。 Numastat沒有提供足夠的信息,因爲只顯示請求的頁面是否在特定節點中,而沒有考慮哪個節點請求該頁面。我想知道有多少請求在其域和特定節點之外創建了特定節點。你明白我的意思嗎? – Jofe
0
Intel PCM軟件包帶有一個名爲pcm-numa.x的工具。它會告訴您每個核心訪問本地NUMA節點的數據的次數,以及遠程節點的訪問次數。
相關問題
- 1. 在linux中測量C程序緩存命中/未命中和CPU時間的最簡單工具?
- 2. Hibernate的緩存未命中
- 3. 在JVM中測量高速緩存未命中
- 4. Ehcache中「緩存未命中」和「內存緩存未命中」有什麼區別?
- 5. 緩存未命中與高速緩存命中
- 6. iphone緩存未命中
- 7. 用於幫助個人檔案緩存未命中的工具
- 8. datomic緩存和緩存未命中
- 9. 有沒有辦法顯示Linux緩衝區緩存未命中?
- 10. 用perf和papi測量L1數據緩存未命中
- 11. 緩存未命中,TLB未命中和頁面錯誤
- 12. 如何檢測用戶代碼中的緩存未命中?
- 13. 高效的緩存和BLOB的 - 分析緩存命中/未命中
- 14. 在多維數組中查找緩存未命中/命中率
- 15. 如何查找MIPS指令的緩存命中和未命中?
- 16. 測試Flask-Cache的緩存命中
- 17. 使用英特爾的PIN工具來計算程序中的緩存命中/未命中數
- 18. 緩存命中(ehCache)
- 19. 雙向組關聯緩存命中/未命中檢查
- 20. memcached會話服務器緩存未命中/命中次數commnad
- 21. 直接映射緩存,命中還是未命中?
- 22. 從CDN查找JQuery緩存命中/未命中
- 23. 如何看到L1緩存未命中/命中python分析?
- 24. 清漆4×緩存未命中
- 25. 休眠緩存始終未命中
- 26. 緩存未命中處理器
- 27. Redis緩存未命中行爲
- 28. DRAM高速緩存未命中
- 29. nginx緩存未命中行爲
- 30. 用於Linux的支持NUMA的命名共享內存
在perf stat中使用--per-socket參數允許我獲得所需的計數器。儘管不是我想要的,因爲在AMD架構中每個插座有2個NUMA節點。 – Jofe