Skip to content

Commit 2a844cf

Browse files
committed
add NUMA related questions
1 parent d7fe609 commit 2a844cf

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

kernel.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,9 @@
265265
(tips:当前运行进程的vruntime 和 抢占进程的vruntime 的差,
266266
大于 sched_wakeup_granularity_ns所表示的vruntime时,可以抢占)
267267

268+
91、为什么CPU访问寄存器快于访问内存,因为访问寄存器只需要一个时钟周期,
269+
而访存需要多个时钟周期才能拿到数据
270+
268271
// 内存管理 mm
269272

270273
1、malloc的实现
@@ -614,6 +617,17 @@
614617
memory+swap的空间使用量,在内存空间紧张时,用户态的匿名映射页会swap out。
615618

616619
109、内核使用的页面不会swap out到二级存储
620+
(tips:这里还需要明确下具体是哪些页面,例如tcp使用的skb?shm使用的?等)
621+
622+
110、为什么在某些性能调优场景下需要关闭NUMA?
623+
(tips:因为如果应用没有针对NUMA进行优化,那么有可能父进程在Node0运行,
624+
启动时预分配了运行时需要的的总内存,如果后续spawn的子进程迁移到Node1,这时,
625+
访问原来的内存就需要经过QPI总线,走point-to-point link,导致数据访问延时增加,
626+
QPI总线的数据传输速度低于CPU访问内存的)
627+
628+
111、OOM计算的是物理内存的使用,malloc返回非NULL,只是表示分配了虚拟内存,
629+
后续访问时,有可能触发缺页中断,进而引发OOM,一个可取的方法就是malloc之后,
630+
memset
617631

618632

619633
// 其他

0 commit comments

Comments
 (0)