2019/07/15
在現在的程式裡面,並沒有顯式的對記憶體部分進行設定。文獻[1]中提到,對於這部分的設定,包括記憶體,包括核都應該進行相應的繫結;但是如果不進行繫結,效能會下降的話,應該從什麼地方在看到這個內容。
使用命令numstat
並沒有看到遠端訪問的數量增加,所以這裡也是乙個疑問。
基本上的意思就是說,不僅僅是網絡卡的繫結要在同乙個socket,核還有記憶體都應該這樣,以達到最高效能。現在就需要檢視api來檢視到底是不是這麼個情況,還有就是怎麼樣來判斷這些設定是否生效了。這種困境就是,我知道我可以這樣優化,但我不知道是不是現在就是這個情況,導致我的程式不行。
2019/07/20
關於numa部分的效能優化,可以從負載均衡部分的示例來看,他的**部分就非常明顯的將這部分進行區分。
[1]
Linux中線程與CPU核的繫結
最近在對專案進行效能優化,由於在多核平台上,所以了解了些程序 執行緒繫結cpu核的問題,在這裡將所學記錄一下。不管是執行緒還是程序,都是通過設定親和性 affinity 來達到目的。對於程序的情況,一般是使用sched setaffinity這個函式來實現,網上講的也比較多,這裡主要講一下執行緒的情...
Linux中線程與CPU核的繫結
最近在對專案進行效能優化,由於在多核平台上,所以了解了些程序 執行緒繫結cpu核的問題,在這裡將所學記錄一下。不管是執行緒還是程序,都是通過設定親和性 affinity 來達到目的。對於程序的情況,一般是使用sched setaffinity這個函式來實現,網上講的也比較多,這裡主要講一下執行緒的情...
Linux中線程與CPU核的繫結
不管是執行緒還是程序,都是通過設定親和性 affinity 來達到目的。與程序的情況相似,執行緒親和性的設定和獲取主要通過下面兩個函式來實現 int pthread setaffinity np pthread t thread size t cpusetsize,const cpu set t c...