View Issue Details

IDProjectCategoryView StatusLast Update
0000052Pgpool-IIBugpublic2013-03-15 07:47
ReporterummAssigned Tot-ishii 
PriorityurgentSeveritycrashReproducibilityalways
Status assignedResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0000052: Out of memory issue ,,,
Descriptionpgpool-II version : 3.2.3
mode : non -- (ON MEMORY QUERY MEMORY CACHE)
postgres version : postgres (PostgreSQL) 9.1.8
physical memory : 4GB
swap : 4GB

im building a testing environment with pgpool. Due to enabling 'query caching' and 'auto_cache_invalidation', the machine's memory starts to get fill up while executing heavy load ( mostly 'SELECT QUERIES') on the database through pgpool, the kernel starts terminating the processes after the RAM and Swap memory are fully loaded, and this causes the system to hang ...
 is this some kind of a memory leakage issue ??


PS : everything runs perfectly without the query caching ...
Steps To Reproducechanges to default configuration :

num_init_children = 100
max_pool = 4
child_life_time = 300
child_max_connections = 0
connection_life_time = 300
client_idle_limit = 0

connection_cache = on

memory_cache_enabled = on
memqcache_method = 'shmem'
memqcache_memcached_host = 'localhost'
memqcache_memcached_port = 11211
memqcache_total_size = 67108864
memqcache_max_num_cache = 1000000
memqcache_expire = 0 (and tried 60 seconds)
memqcache_auto_cache_invalidation = on
memqcache_maxcache = 409600
memqcache_cache_block_size = 1048576

Additional Informationsample of system's logs for one of pgpool processes:

 kernel: [175882.263257] Out of memory: Kill process [PID] (pgpool) score 67 or sacrifice child
 kernel: [175882.263282] Killed process [PID] (pgpool) total-vm:793364kB, anon-rss:324228kB, file-rss:16920kB
TagsNo tags attached.

Activities

umm

2013-03-07 20:34

reporter  

pgpool.conf (27,135 bytes)

gustavofn

2013-03-11 10:43

reporter   ~0000238

I have noted same behavior here. My pgpool server hang after few days running. Follow a memory free graph.

gustavofn

2013-03-11 10:43

reporter  

t-ishii

2013-03-15 07:47

developer   ~0000246

I tested using pgbench -S and failed to reproduce your problem. Can you run pgpool using valgrind to see memory leak logs? e.g.

valgrind --trace-children=yes --leak-check=full pgpool -n -f > pgpool.log 2>&1 &

After shutting down pgpool, you will the memory leak report in pgpool.log. Please note that you will see lots of something like followings, but this is normal. They are once allocated at starting up and are kept until pgpool exits. So they do not hurt...

==12550== 60 bytes in 1 blocks are possibly lost in loss record 74 of 102
==12550== at 0x4C24D5E: malloc (vg_replace_malloc.c:236)
==12550== by 0x5DE5CC1: strdup (strdup.c:43)
==12550== by 0x40DF34: extract_string (pool_config.l:2777)
==12550== by 0x4108D4: pool_get_config (pool_config.l:763)
==12550== by 0x40739E: main (main.c:331)

Issue History

Date Modified Username Field Change
2013-03-07 20:34 umm New Issue
2013-03-07 20:34 umm File Added: pgpool.conf
2013-03-11 10:43 gustavofn Note Added: 0000238
2013-03-11 10:43 gustavofn File Added: 2013-03-10 10.27.42 pm.png
2013-03-15 07:42 t-ishii Assigned To => t-ishii
2013-03-15 07:42 t-ishii Status new => assigned
2013-03-15 07:47 t-ishii Note Added: 0000246