Mark Kirkwood <mark.kirkwood@catalyst.net.nz> wrote:
> On 12/07/14 01:19, Kevin Grittner wrote:
>>
>> It might be worth a test using a cpuset to interleave OS cache and
>> the NUMA patch I submitted to the current CF to see whether this is
>> getting into territory where the patch makes a bigger difference.
>> I would expect it to do much better than using numactl --interleave
>> because work_mem and other process-local memory would be allocated
>> in "near" memory for each process.
>>
> http://www.postgresql.org/message-id/1402267501.41111.YahooMailNeo@web122304.mail.ne1.yahoo.com
>
> Thanks Kevin - I did try this out - seemed slightly better than using
> --interleave, but almost identical to the results posted previously.
>
> However looking at my postgres binary with ldd, I'm not seeing any link
> to libnuma (despite it demanding the library whilst building), so I
> wonder if my package build has somehow vanilla-ified the result :-(
That is odd; not sure what to make of that!
> Also I am guessing that with 60 cores I do:
>
> $ sudo /bin/bash -c "echo 0-59 >/dev/cpuset/postgres/cpus"
>
> i.e cpus are cores not packages...?
Right; basically, as a guide, you can use the output from:
$ numactl --hardware
Use the union of all the "cpu" numbers from the "node n cpus" lines. The
above statement is also a good way to see how unbalance memory usage has
become while running a test.
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company