a) “numactl --interleave= all --physcpubind=0,1,2 q”
Q1. Why allows the process to access all node’s memory instead of bind the process to local memory only?
b) “echo 0 > /proc/sys/vm/zone_reclaim_mode” which lets the process closes zone-reclaim and takes other numa nodes’s memory.
Q2. Is zone_reclaim_mode=1 the correct answer according to [1] ?
The attached shows one of our q process, on a numa-enabled server, binds to mem 0-3,
Q3. Is it identical to “interleave=all” ?
Q4. If i want this process access local mem only, shall i execute “numactl --interleave=0” ?
Q5. following up Q4, How to start a q process and put numactl command’s to work in kx-platform? which Reversed Parameter shall be edited? or, should i “run”/start a process first, then execute system "numactl --interleave=0 --physcpubind=0 " inside process’s console ?
Reverting back with feedback for some of the questions:
Q1) Keeping the process within one node is the best option for performance. However, if the working set exceeds one node’s memory capacity, it then has to spill in to other nodes.
Q2) No, this rarely helps with recent kernels. This discussion will be removed altogether from code.kx.com. The default for modern systems is 0, which should be fine. (Regardless, this setting has no effect if confining the process to a single node)
“numactl --cpubind=0 --membind=0,1 q blablabla…” This is a good practice to start a raw-kdb, to my understanding.
Well, what i am trying to ask is :
when we wanna start a task of an instance in kx-platform(w r using v4.5.0), we can right-click on the task and select “RUN”. Therefore which instance’s RESERVED PARAM(e.g host/port/taskSet/enableIPSharding/memLimit …) i can edit so that when we “RUN” the task, it works just as start a raw-kdb process in the way as you suggested.
Following up, i started a q instance as suggested, but it could not be recognized and managed by kx-platform, i guess it fails to register with the DC.
The result is: the process is seemingly UP, i can see its status is “running” in “Process Status Library” page, however after i right-click the process and select “connect”, i got a busy process which is unable to interact with, and there is no log file of it.
I would like to trouble you all to let me know how to start a process/task and making system command like “numactl” works on that process.
This is significant to us, given i re-installed whole platform last week, finding there is one server has high numa_miss, albeit the server has exactly the same hardware,even firmware version, with the other 3.
I would like to manage processes on-demand to see if we can reduce numa_miss and boost up rdb’s speed.
Thank you all!