Обсуждение: out of memory

Поиск
Список
Период
Сортировка

out of memory

От
"Anita Lederer"
Дата:
Hello,

i have a statement which ends with
  ERROR:  out of memory
  DETAIL:  Failed on request of size 639.

i tried it several times, the number after size changes but not the outcome.

could someone tell me what information you need to tell me whats wrong?

what i have so fare is:
  PostgreSQL version: 8.1.4
  Linux version 2.6.16.20-0.12-bigsmp (geeko@buildhost) (gcc version
4.1.0 (SUSE Linux)) #1 SMP Mon Jun 19 22:25:45 UTC 2006

the statement:
SELECT catalog_prefix, supplier_aid
               , stage_1.article_data_md5(
COALESCE(src.description_short     ,'')
                                         ,
COALESCE(src.description_long      ,'')
                                         , COALESCE(src.ean
       ,'')
                                         ,
COALESCE(m2.manufacturer_name    , src.manufacturer_name)
                                         ,
COALESCE(m1.manufacturer_name_old, src.manufacturer_name, '')
                                         ,
COALESCE(src.manufacturer_aid      ,'')
                                         ) AS md5
               , COALESCE(m2.manufacturer_name, src.manufacturer_name)
AS manufacturer_name
               , COALESCE(m1.manufacturer_name_old,
src.manufacturer_name) AS manufacturer_name_old
               , description_short, description_long, ean, manufacturer_aid
             FROM        quellen.article
                         src
               LEFT JOIN ( SELECT SUBSTRING(file FROM
'^([a-zA-Z0-9]*)[.].*') AS catalog_prefix
                                 , sku AS supplier_aid
                                 , manufacturer_name_old
                            FROM quellen.manufacturer_names_old
                          ) m1 USING (catalog_prefix, supplier_aid)
               LEFT JOIN data.manufacturer_mapping
                         m2 ON (
UPPER(m2.manufacturer_name_old)=UPPER(COALESCE(m1.manufacturer_name_old,src.manufacturer_name)))
             WHERE EXISTS ( SELECT 1
                              FROM stage_1.article_category_a
                              WHERE isactive IS TRUE
                                AND root_code=(SELECT
col_root_category_id FROM quellen.cataloginfo WHERE catalog_prefix =
'root')
                                AND catalog_prefix=src.catalog_prefix
AND supplier_aid=src.supplier_aid
                          )

and the explain plan:
                                                            QUERY PLAN

----------------------------------------------------------------------------------------------------------------------------------
 Merge Right Join  (cost=17894565.16..18024911.70 rows=5792735 width=496)
   Merge Cond: ("outer"."?column3?" = "inner"."?column9?")
   ->  Sort  (cost=62.33..64.83 rows=1000 width=64)
         Sort Key: upper(version.manufacturer_name_old)
         ->  Function Scan on dblink version  (cost=0.00..12.50
rows=1000 width=64)
   ->  Sort  (cost=17894502.83..17897399.20 rows=1158547 width=464)
         Sort Key:
upper(COALESCE(manufacturer_names_old.manufacturer_name_old,
src.manufacturer_name))
         ->  Merge Left Join  (cost=17752829.62..17777814.64
rows=1158547 width=464)
               Merge Cond: (("outer".supplier_aid = "inner".sku) AND
("outer".catalog_prefix = "inner"."?column4?"))
               ->  Sort  (cost=17587009.86..17589906.23 rows=1158547 width=448)
                     Sort Key: src.supplier_aid, src.catalog_prefix
                     ->  Seq Scan on article src
(cost=0.00..17470321.68 rows=1158547 width=448)
                           Filter: (subplan)
                           SubPlan
                             ->  Index Scan using
article_category_a_pkey on article_category_a  (cost=3.44..7.46 rows=1
width=0)
                                   Index Cond: ((catalog_prefix = $1)
AND (supplier_aid = $2) AND (root_code = $0))
                                   Filter: (isactive IS TRUE)
                                   InitPlan
                                     ->  Index Scan using
cataloginfo_pkey on cataloginfo  (cost=0.00..3.44 rows=1 width=5)
                                           Index Cond: (catalog_prefix
= 'root'::text)
               ->  Sort  (cost=165819.76..169160.88 rows=1336447 width=63)
                     Sort Key: manufacturer_names_old.sku,
"substring"(manufacturer_names_old.file, '^([a-zA-Z0-9]*)[.].*'::text)
                     ->  Seq Scan on manufacturer_names_old
(cost=0.00..29836.47 rows=1336447 width=63)


greetings, anita

Re: out of memory

От
Tom Lane
Дата:
"Anita Lederer" <anita.lederer@googlemail.com> writes:
> i have a statement which ends with
>   ERROR:  out of memory
>   DETAIL:  Failed on request of size 639.

Do you have work_mem set to a large value?  Your query plan contains
several sorts so would potentially try to use several times work_mem
... if that's more than the kernel will allow one process to have,
you would get a failure like this.

The other theory that comes to mind is that you've discovered an
intraquery memory-leak bug, but there's not nearly enough information
here to find it if so.

The out-of-memory error should result in dumping a list of memory
context statistics into the postmaster's log file --- if you can post
that information it would be helpful.

            regards, tom lane

Re: out of memory

От
"Anita Lederer"
Дата:
hi,

thx for the hint. i decreased work_mem. its working now.

the dump written in the logfile is:

TopMemoryContext: 40960 total in 5 blocks; 11064 free (37 chunks); 29896 used
TopTransactionContext: 8192 total in 1 blocks; 7856 free (0 chunks); 336 used
Remote Con hash: 8192 total in 1 blocks; 5968 free (0 chunks); 2224 used
Record information cache: 8192 total in 1 blocks; 1864 free (0
chunks); 6328 used
Type information cache: 8192 total in 1 blocks; 1864 free (0 chunks); 6328 used
CFuncHash: 8192 total in 1 blocks; 4936 free (0 chunks); 3256 used
MessageContext: 253952 total in 5 blocks; 115160 free (1199 chunks); 138792 used
Operator class cache: 8192 total in 1 blocks; 4936 free (0 chunks); 3256 used
smgr relation table: 8192 total in 1 blocks; 1840 free (0 chunks); 6352 used
Portal hash: 8192 total in 1 blocks; 3912 free (0 chunks); 4280 used
PortalMemory: 8192 total in 1 blocks; 8040 free (0 chunks); 152 used
PortalHeapMemory: 1024 total in 1 blocks; 856 free (0 chunks); 168 used
ExecutorState: -1211899784 total in 386 blocks; 40648 free (537
chunks); -1211940432 used
ExprContext: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used
ExecutorState: 8192 total in 1 blocks; 2088 free (5 chunks); 6104 used
ExecutorState: 8192 total in 1 blocks; 5088 free (0 chunks); 3104 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
ExprContext: 8192 total in 1 blocks; 8160 free (0 chunks); 32 used
ExprContext: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
ExprContext: 0 total in 0 blocks; 0 free (0 chunks); 0 used
Relcache by OID: 8192 total in 1 blocks; 3376 free (0 chunks); 4816 used
CacheMemoryContext: 1040384 total in 7 blocks; 552584 free (207
chunks); 487800 used
article_manufacturer_name_lower: 1024 total in 1 blocks; 392 free (0
chunks); 632 used
article_description_short_lower: 1024 total in 1 blocks; 392 free (0
chunks); 632 used
article_pkey: 1024 total in 1 blocks; 328 free (0 chunks); 696 used
pg_toast_2619_index: 1024 total in 1 blocks; 328 free (0 chunks); 696 used
article_data_a_ean: 1024 total in 1 blocks; 328 free (0 chunks); 696 used
article_data_a_pkey: 1024 total in 1 blocks; 328 free (0 chunks); 696 used
article_data_a_article_id_key: 1024 total in 1 blocks; 392 free (0
chunks); 632 used
article_category_a_pkey: 1024 total in 1 blocks; 192 free (0 chunks); 832 used
cataloginfo_pkey: 1024 total in 1 blocks; 328 free (0 chunks); 696 used
catalog_prefix: 15360 total in 4 blocks; 7016 free (0 chunks); 8344 used
pg_constraint_conrelid_index: 1024 total in 1 blocks; 392 free (0
chunks); 632 used
pg_attrdef_adrelid_adnum_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
manufacturer_mapping: 7168 total in 3 blocks; 3912 free (0 chunks); 3256 used
pg_database_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_index_indrelid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_type_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_type_typname_nsp_index: 1024 total in 1 blocks; 328 free (0 chunks); 696 used
pg_statistic_relid_att_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_rewrite_rel_rulename_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_class_relname_nsp_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_proc_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_proc_proname_args_nsp_index: 1024 total in 1 blocks; 256 free (0
chunks); 768 used
pg_operator_oprname_l_r_n_index: 1024 total in 1 blocks; 192 free (0
chunks); 832 used
pg_namespace_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_namespace_nspname_index: 1024 total in 1 blocks; 392 free (0
chunks); 632 used
pg_language_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_language_name_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_inherits_relid_seqno_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_conversion_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_conversion_name_nsp_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_conversion_default_index: 1024 total in 1 blocks; 192 free (0
chunks); 832 used
pg_opclass_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_opclass_am_name_nsp_index: 1024 total in 1 blocks; 256 free (0
chunks); 768 used
pg_cast_source_target_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_authid_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_auth_members_role_member_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_auth_members_member_role_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_attribute_relid_attnam_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_amop_opr_opc_index: 1024 total in 1 blocks; 328 free (0 chunks); 696 used
pg_aggregate_fnoid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_database_datname_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_authid_rolname_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_trigger_tgrelid_tgname_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_operator_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_amproc_opc_proc_index: 1024 total in 1 blocks; 256 free (0 chunks); 768 used
pg_amop_opc_strat_index: 1024 total in 1 blocks; 256 free (0 chunks); 768 used
pg_index_indexrelid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
pg_attribute_relid_attnum_index: 1024 total in 1 blocks; 328 free (0
chunks); 696 used
pg_class_oid_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used
MdSmgr: 8192 total in 1 blocks; 6448 free (0 chunks); 1744 used
LockTable (locallock hash): 8192 total in 1 blocks; 3912 free (0
chunks); 4280 used
Timezones: 47592 total in 2 blocks; 5968 free (0 chunks); 41624 used
ErrorContext: 16384 total in 2 blocks; 16352 free (10 chunks); 32 used


regards, anita