On Tuesday 20 July 2010, JR Richardson wrote:
[..] So now I'm running out of shmem as well. After I loaded more than 320K records in the pdt database table, I started getting these errors: 0(17599) ERROR: pdt [pdtree.c:283]: bad parameters 0(17599) INFO: pdt [pdt.c:490]: no prefix found in [7000011234]
shmem:real_used_size = 1247512 This parameter does not get above 1247512 without having a problem, even though I have plenty of shmem available.
shmem:total_size = 33554432 shmem:used_size = 1229472 shmem:real_used_size = 1247512 shmem:max_used_size = 1247512 shmem:free_size = 32306920
I increased these parameters in config.h but that did not help:
/*used only if PKG_MALLOC is defined*/ #define PKG_MEM_POOL_SIZE 64*1024*1024
/*used if SH_MEM is defined*/ #define SHM_MEM_SIZE 64
Hi Jr,
its not necessary to re-compile the server to just increase the SHM mem pool. You can give this as a config parameter or a server daemon parameter during startup. Maybe there is also an bug present in the PDT, which somehow causes this problems if you load that much records. I did a short look into the code, there is a variable
#define PDT_MAX_DEPTH 32
which somehow seems to restrict the maximum size of the internal (tree) datastructure for queries. But i did not used this module so far - all i can say is that during my test with cr we loaded more records without any problems coming from the internal SHM MM, so i guess this is a limitation from the module. Maybe you should also try to increase the pool to 512 MB (the mem is just free also on a system level if its not used).
Regards,
Henning