Re: Help with postgresql memory issue - Mailing list pgsql-general

From Brooks Lyrette
Subject Re: Help with postgresql memory issue
Date
Msg-id 00FAD58D-B41E-4BBD-9537-780482B848F8@gmail.com
Whole thread Raw
In response to Re: Help with postgresql memory issue  (Thom Brown <thombrown@gmail.com>)
List pgsql-general
There should be no other processes running, this system is dedicated
to running postgresql.

Max connections is configured to: max_connections = 400

Brooks L.

On 28-Oct-09, at 3:46 PM, Thom Brown wrote:

> 2009/10/28 Brooks Lyrette <brooks.lyrette@gmail.com>:
>> Hello All,
>>
>> I'm new to postgres and it seems my server is unable to fork new
>> connections.
>>
>> Here is the log:
>>
>> LOG:  could not fork new process for connection: Not enough space
>> LOG:  could not fork new process for connection: Not enough space
>> TopMemoryContext: 84784 total in 8 blocks; 5584 free (10 chunks);
>> 79200 used
>>  Prepared Queries: 8192 total in 1 blocks; 1800 free (0 chunks);
>> 6392 used
>>  TopTransactionContext: 8192 total in 1 blocks; 7856 free (0
>> chunks); 336
>> used
>>  Record information cache: 8192 total in 1 blocks; 1800 free (0
>> chunks);
>> 6392 used
>>  MessageContext: 8192 total in 1 blocks; 7128 free (0 chunks); 1064
>> used
>>  smgr relation table: 8192 total in 1 blocks; 3840 free (0 chunks);
>> 4352
>> used
>>  TransactionAbortContext: 32768 total in 1 blocks; 32752 free (0
>> chunks); 16
>> 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; 976 free (0 chunks);
>> 48 used
>>  Relcache by OID: 8192 total in 1 blocks; 3376 free (0 chunks);
>> 4816 used
>>  CacheMemoryContext: 405328 total in 19 blocks; 70888 free (1
>> chunks);
>> 334440 used
>>    unnamed prepared statement: 24576 total in 2 blocks; 7912 free (1
>> chunks); 16664 used
>>    CachedPlan: 1024 total in 1 blocks; 904 free (0 chunks); 120 used
>>    CachedPlanSource: 1024 total in 1 blocks; 840 free (0 chunks);
>> 184 used
>>    pg_ts_dict_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_aggregate_fnoid_index: 1024 total in 1 blocks; 344 free (0
>> chunks);
>> 680 used
>>    pg_language_name_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_statistic_relid_att_index: 1024 total in 1 blocks; 280 free (0
>> chunks); 744 used
>>    pg_ts_dict_dictname_index: 1024 total in 1 blocks; 280 free (0
>> chunks);
>> 744 used
>>    pg_namespace_nspname_index: 1024 total in 1 blocks; 304 free (0
>> chunks);
>> 720 used
>>    pg_opfamily_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_opclass_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_ts_parser_prsname_index: 1024 total in 1 blocks; 280 free (0
>> chunks);
>> 744 used
>>    pg_amop_fam_strat_index: 1024 total in 1 blocks; 128 free (0
>> chunks); 896
>> used
>>    pg_opclass_am_name_nsp_index: 1024 total in 1 blocks; 192 free (0
>> chunks); 832 used
>>    pg_trigger_tgrelid_tgname_index: 1024 total in 1 blocks; 240
>> free (0
>> chunks); 784 used
>>    pg_cast_source_target_index: 1024 total in 1 blocks; 280 free (0
>> chunks);
>> 744 used
>>    pg_auth_members_role_member_index: 1024 total in 1 blocks; 280
>> free (0
>> chunks); 744 used
>>    pg_attribute_relid_attnum_index: 1024 total in 1 blocks; 280
>> free (0
>> chunks); 744 used
>>    pg_ts_config_cfgname_index: 1024 total in 1 blocks; 280 free (0
>> chunks);
>> 744 used
>>    pg_authid_oid_index: 1024 total in 1 blocks; 304 free (0
>> chunks); 720
>> used
>>    pg_ts_config_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_conversion_default_index: 1024 total in 1 blocks; 128 free (0
>> chunks);
>> 896 used
>>    pg_language_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_enum_oid_index: 1024 total in 1 blocks; 344 free (0 chunks);
>> 680 used
>>    pg_proc_proname_args_nsp_index: 1024 total in 1 blocks; 192 free
>> (0
>> chunks); 832 used
>>    pg_ts_parser_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_database_oid_index: 1024 total in 1 blocks; 304 free (0
>> chunks); 720
>> used
>>    pg_conversion_name_nsp_index: 1024 total in 1 blocks; 280 free (0
>> chunks); 744 used
>>    pg_class_relname_nsp_index: 1024 total in 1 blocks; 280 free (0
>> chunks);
>> 744 used
>>    pg_attribute_relid_attnam_index: 1024 total in 1 blocks; 280
>> free (0
>> chunks); 744 used
>>    pg_class_oid_index: 1024 total in 1 blocks; 344 free (0 chunks);
>> 680 used
>>    pg_amproc_fam_proc_index: 1024 total in 1 blocks; 128 free (0
>> chunks);
>> 896 used
>>    pg_operator_oprname_l_r_n_index: 1024 total in 1 blocks; 128
>> free (0
>> chunks); 896 used
>>    pg_index_indexrelid_index: 1024 total in 1 blocks; 344 free (0
>> chunks);
>> 680 used
>>    pg_type_oid_index: 1024 total in 1 blocks; 304 free (0 chunks);
>> 720 used
>>    pg_rewrite_rel_rulename_index: 1024 total in 1 blocks; 280 free (0
>> chunks); 744 used
>>    pg_authid_rolname_index: 1024 total in 1 blocks; 304 free (0
>> chunks); 720
>> used
>>    pg_auth_members_member_role_index: 1024 total in 1 blocks; 280
>> free (0
>> chunks); 744 used
>>    pg_enum_typid_label_index: 1024 total in 1 blocks; 280 free (0
>> chunks);
>> 744 used
>>    pg_constraint_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_conversion_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_ts_template_tmplname_index: 1024 total in 1 blocks; 280 free (0
>> chunks); 744 used
>>    pg_ts_config_map_index: 1024 total in 1 blocks; 192 free (0
>> chunks); 832
>> used
>>    pg_namespace_oid_index: 1024 total in 1 blocks; 304 free (0
>> chunks); 720
>> used
>>    pg_type_typname_nsp_index: 1024 total in 1 blocks; 280 free (0
>> chunks);
>> 744 used
>>    pg_operator_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks); 680
>> used
>>    pg_amop_opr_fam_index: 1024 total in 1 blocks; 280 free (0
>> chunks); 744
>> used
>>    pg_proc_oid_index: 1024 total in 1 blocks; 344 free (0 chunks);
>> 680 used
>>    pg_opfamily_am_name_nsp_index: 1024 total in 1 blocks; 192 free (0
>> chunks); 832 used
>>    pg_ts_template_oid_index: 1024 total in 1 blocks; 344 free (0
>> chunks);
>> 680 used
>>  MdSmgr: 0 total in 0 blocks; 0 free (0 chunks); 0 used
>>  LOCALLOCK hash: 8192 total in 1 blocks; 3912 free (0 chunks); 4280
>> used
>>  Timezones: 48616 total in 2 blocks; 5968 free (0 chunks); 42648 used
>>  ErrorContext: 8192 total in 1 blocks; 8176 free (3 chunks); 16 used
>> ERROR:  out of memory
>>
>> and the memory area from the config file:
>>
>> #------------------------------------------------------------------------------
>> # RESOURCE USAGE (except WAL)
>> #------------------------------------------------------------------------------
>>
>> # - Memory -
>>
>> shared_buffers = 128MB                  # min 128kB or
>> max_connections*16kB
>>                                        # (change requires restart)
>> temp_buffers = 16MB                     # min 800kB
>> #max_prepared_transactions = 5          # can be 0 or more
>>                                        # (change requires restart)
>> # Note:  Increasing max_prepared_transactions costs ~600 bytes of
>> shared
>> memory
>> # per transaction slot, plus lock space (see
>> max_locks_per_transaction).
>> #work_mem = 1MB                         # min 64kB
>> work_mem = 16MB
>> maintenance_work_mem = 300MB            # min 1MB
>> #max_stack_depth = 2MB                  # min 100kB
>>
>> # - Free Space Map -
>>
>> max_fsm_pages = 400000                  # min max_fsm_relations*16,
>> 6 bytes
>> each
>>                                        # (change requires restart)
>> #max_fsm_relations = 1000               # min 100, ~70 bytes each
>>                                        # (change requires restart)
>>
>> # - Kernel Resource Usage -
>>
>> #max_files_per_process = 1000           # min 25
>>                                        # (change requires restart)
>> #shared_preload_libraries = ''          # (change requires restart)
>>
>> # - Cost-Based Vacuum Delay -
>>
>> #vacuum_cost_delay = 0                  # 0-1000 milliseconds
>> #vacuum_cost_page_hit = 1               # 0-10000 credits
>> #vacuum_cost_page_miss = 10             # 0-10000 credits
>> #vacuum_cost_page_dirty = 20            # 0-10000 credits
>> #vacuum_cost_limit = 200                # 1-10000 credits
>>
>> # - Background Writer -
>>
>> #bgwriter_delay = 200ms                 # 10-10000ms between rounds
>> #bgwriter_lru_maxpages = 100            # 0-1000 max buffers
>> written/round
>> #bgwriter_lru_multiplier = 2.0          # 0-10.0 multipler on buffers
>> scanned/round
>>
>>
>> Is there anything I can do to ensure I'm getting the most out of
>> the 1GB of
>> RAM on my server?
>>
>
> What is the maximum number of connections as configured in your copy
> of postgresql.conf?  And also are you running any other run-away
> processes that are taking up all available memory?
>
> Thom


pgsql-general by date:

Previous
From: Brooks Lyrette
Date:
Subject: Re: Help with postgresql memory issue
Next
From: Roman Neuhauser
Date:
Subject: Re: Emal reg expression