Portál AbcLinuxu, 12. května 2025 05:21
numactl
(případně numad
):
numactl --membind=0 --cpubind=0 -- mytask
nebo
numactl --localalloc -- mytask
zajistit lokální alokaci paměti, ale daří se mi to pouze tehdy, když před tím vymažu diskovou cache (která jinak zabírá téměř celou RAM) pomocí:
sync && echo 3>/proc/sys/vm/drop_caches
Je toto chování numactl
korektní, nebo je to bug? Překvapuje mě, že nedojde k pádu mytask
, pouze numastat ukazuje, že cca. polovina nebo čtvrtina paměti se alokuje druhou node.
Existuje nějaké lepší řešení, které by nevyžadovalo obětovat celý obsah diskové cache?
Mám pracovní stanici s 2x Xeon E5-26XX a Centos 6 s jádrem 2.6.32-431.23.3.
Pozn. Program mytask
nejprve alokuje cca 1/4 RAM a poté spouští další thready, které k ní přistupují.
Na otázku zatím nikdo bohužel neodpověděl.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.