opa 
Você poderia aumentar o seu shared buffer pra 500 megas : 25% de 2G, o que 
evitaria um acesso ao disco maior.

Esse parametro e talvez o mais importante a nivel de tunning de postgresql.

Dependendo do tipo consulta aumentaria tb o work_mem


outra coisa muito comum amigo, as pessoas as vezes nao sabem olhar a saida do 
comando free -m:
da um free -m na sua maquina e posta aqui.
  ----- Original Message ----- 
  From: Rafael Bragatto Gratz 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Monday, June 09, 2008 9:47 AM
  Subject: Re: [pgbr-geral]Fwd: servidor com 100% de uso de cpu/memória


  Xenon 3.0 com 2gb de memória.




  On Mon, Jun 9, 2008 at 9:42 AM, Aluisio Gouveia <[EMAIL PROTECTED]> wrote:

    Rafael Bragatto Gratz escreveu:

    > Boa tarde pessoal, estou com um problema sério em um dos meus clientes.
    >
    > Há 300 máquinas conectadas (em torno de 2 conexões por máquina) no
    > servidor postgres e o servidor está com o processor a 100% de uso e
    > memória com 1900gb em uso e está MUITO LENTO.
    >
    > Se alguém puder me ajudar eu agradeço.
    >
    > A configuraçào do meu postgre.conf está assim:
    >
    > *
    > 
#---------------------------------------------------------------------------
    > # CONNECTIONS AND AUTHENTICATION
    > 
#---------------------------------------------------------------------------
    >
    > # - Connection Settings -
    >
    > listen_addresses = 'localhost'            # what IP address(es) to
    > listen on;
    >                     # comma-separated list of addresses;
    >                     # defaults to 'localhost', '*' = all
    >                     # (change requires restart)
    > port = 5432                # (change requires restart)
    > max_connections = 1200            # (change requires restart)
    > # Note: increasing max_connections costs ~400 bytes of shared memory per
    > # connection slot, plus lock space (see max_locks_per_transaction).  You
    > # might also need to raise shared_buffers to support more connections.
    > #superuser_reserved_connections = 3    # (change requires restart)
    > #unix_socket_directory = ''        # (change requires restart)
    > #unix_socket_group = ''            # (change requires restart)
    > #unix_socket_permissions = 0777        # octal
    >                     # (change requires restart)
    > #bonjour_name = ''            # defaults to the computer name
    >                     # (change requires restart)
    >
    > # - Security & Authentication -
    >
    > #authentication_timeout = 1min        # 1s-600s
    > #ssl = off                # (change requires restart)
    > #password_encryption = on
    > #db_user_namespace = off
    >
    > # Kerberos
    > #krb_server_keyfile = ''        # (change requires restart)
    > #krb_srvname = 'postgres'        # (change requires restart)
    > #krb_server_hostname = ''        # empty string matches any keytab entry
    >                     # (change requires restart)
    > #krb_caseins_users = off        # (change requires restart)
    >
    > # - TCP Keepalives -
    > # see 'man 7 tcp' for details
    >
    > #tcp_keepalives_idle = 0        # TCP_KEEPIDLE, in seconds;
    >                     # 0 selects the system default
    > #tcp_keepalives_interval = 0        # TCP_KEEPINTVL, in seconds;
    >                     # 0 selects the system default
    > #tcp_keepalives_count = 0        # TCP_KEEPCNT;
    >                     # 0 selects the system default
    >
    >
    > 
#---------------------------------------------------------------------------
    > # RESOURCE USAGE (except WAL)
    > 
#---------------------------------------------------------------------------
    >
    > # - Memory -
    >
    > shared_buffers = 256MB            # min 128kB or max_connections*16kB
    >                     # (change requires restart)
    > #temp_buffers = 8MB            # 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 = 2MB                # min 64kB
    > maintenance_work_mem = 16MB        # min 1MB
    > #max_stack_depth = 2MB            # min 100kB
    >
    > # - Free Space Map -
    >
    > max_fsm_pages = 204800        # 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        # 0-10000 credits
    >
    > # - Background writer -
    >
    > #bgwriter_delay = 200ms            # 10-10000ms between rounds
    > #bgwriter_lru_percent = 1.0        # 0-100% of LRU buffers scanned/round
    > #bgwriter_lru_maxpages = 5        # 0-1000 buffers max written/round
    > #bgwriter_all_percent = 0.333        # 0-100% of all buffers scanned/round
    > #bgwriter_all_maxpages = 5        # 0-1000 buffers max written/round
    >
    >
    > 
#---------------------------------------------------------------------------
    > # WRITE AHEAD LOG
    > 
#---------------------------------------------------------------------------
    >
    > # - Settings -
    >
    > #fsync = on                # turns forced synchronization on or off
    > #wal_sync_method = fsync        # the default is the first option
    >                     # supported by the operating system:
    >                     #   open_datasync
    >                     #   fdatasync
    >                     #   fsync
    >                     #   fsync_writethrough
    >                     #   open_sync
    > #full_page_writes = on            # recover from partial page writes
    > #wal_buffers = 64kB            # min 32kB
    >                     # (change requires restart)
    > #commit_delay = 0            # range 0-100000, in microseconds
    > #commit_siblings = 5            # range 1-1000
    >
    > # - Checkpoints -
    >
    > #checkpoint_segments = 3        # in logfile segments, min 1, 16MB each
    > #checkpoint_timeout = 5min        # range 30s-1h
    > #checkpoint_warning = 30s        # 0 is off
    >
    > # - Archiving -
    >
    > #archive_command = ''        # command to use to archive a logfile segment
    > #archive_timeout = 0        # force a logfile segment switch after this
    >                 # many seconds; 0 is off
    >
    >
    > 
#---------------------------------------------------------------------------
    > # QUERY TUNING
    > 
#---------------------------------------------------------------------------
    >
    > # - Planner Method Configuration -
    >
    > #enable_bitmapscan = on
    > #enable_hashagg = on
    > #enable_hashjoin = on
    > #enable_indexscan = on
    > #enable_mergejoin = on
    > #enable_nestloop = on
    > #enable_seqscan = on
    > #enable_sort = on
    > #enable_tidscan = on
    >
    > # - Planner Cost Constants -
    >
    > #seq_page_cost = 1.0            # measured on an arbitrary scale
    > #random_page_cost = 4.0            # same scale as above
    > #cpu_tuple_cost = 0.01            # same scale as above
    > #cpu_index_tuple_cost = 0.005        # same scale as above
    > #cpu_operator_cost = 0.0025        # same scale as above
    > #effective_cache_size = 128MB
    >
    > # - Genetic Query Optimizer -
    >
    > #geqo = on
    > #geqo_threshold = 12
    > #geqo_effort = 5            # range 1-10
    > #geqo_pool_size = 0            # selects default based on effort
    > #geqo_generations = 0            # selects default based on effort
    > #geqo_selection_bias = 2.0        # range 1.5-2.0
    >
    > # - Other Planner Options -
    >
    > #default_statistics_target = 10        # range 1-1000
    > #constraint_exclusion = off
    > #from_collapse_limit = 8
    > #join_collapse_limit = 8        # 1 disables collapsing of explicit
    >                     # JOINs
    >
    >
    >
    > 
#---------------------------------------------------------------------------
    > # RUNTIME STATISTICS
    > 
#---------------------------------------------------------------------------
    >
    > # - Query/Index Statistics Collector -
    >
    > #stats_command_string = on
    > #update_process_title = on
    >
    > stats_start_collector = on        # needed for block or row stats
    >                     # (change requires restart)
    > #stats_block_level = off
    > stats_row_level = on
    > #stats_reset_on_server_start = off    # (change requires restart)
    >
    >
    > # - Statistics Monitoring -
    >
    > #log_parser_stats = off
    > #log_planner_stats = off
    > #log_executor_stats = off
    > #log_statement_stats = off
    >
    >
    > 
#---------------------------------------------------------------------------
    > # AUTOVACUUM PARAMETERS
    > 
#---------------------------------------------------------------------------
    >
    > autovacuum = on            # enable autovacuum subprocess?
    >                     # 'on' requires stats_start_collector
    >                     # and stats_row_level to also be on
    > #autovacuum_naptime = 1min        # time between autovacuum runs
    > #autovacuum_vacuum_threshold = 500    # min # of tuple updates before
    >                     # vacuum
    > #autovacuum_analyze_threshold = 250    # min # of tuple updates before
    >                     # analyze
    > #autovacuum_vacuum_scale_factor = 0.2    # fraction of rel size before
    >                     # vacuum
    > #autovacuum_analyze_scale_factor = 0.1    # fraction of rel size before
    >                     # analyze
    > #autovacuum_freeze_max_age = 200000000    # maximum XID age before
    > forced vacuum
    >                     # (change requires restart)
    > #autovacuum_vacuum_cost_delay = -1    # default vacuum cost delay for
    >                     # autovacuum, -1 means use
    >                     # vacuum_cost_delay
    > #autovacuum_vacuum_cost_limit = -1    # default vacuum cost limit for
    >                     # autovacuum, -1 means use
    >                     # vacuum_cost_limit
    >
    >
    > 
#---------------------------------------------------------------------------
    > # CLIENT CONNECTION DEFAULTS
    > 
#---------------------------------------------------------------------------
    >
    > # - Statement Behavior -
    >
    > #search_path = '"$user",public'        # schema names
    > #default_tablespace = ''        # a tablespace name, '' uses
    >                     # the default
    > #check_function_bodies = on
    > #default_transaction_isolation = 'read committed'
    > #default_transaction_read_only = off
    > #statement_timeout = 0            # 0 is disabled
    > #vacuum_freeze_min_age = 100000000
    >
    > # - Locale and Formatting -
    >
    > datestyle = 'iso, dmy'
    > #timezone = unknown            # actually, defaults to TZ
    >                     # environment setting
    > #timezone_abbreviations = 'Default'     # select the set of available
    > timezone
    >                     # abbreviations. Currently, there are
    >                     #   Default
    >                     #   Australia
    >                     #   India
    >                     # However you can also create your own
    >                     # file in share/timezonesets/.
    > #extra_float_digits = 0            # min -15, max 2
    > #client_encoding = sql_ascii        # actually, defaults to database
    >                     # encoding
    >
    > # These settings are initialized by initdb -- they might be changed
    > lc_messages = 'Portuguese_Brazil'            # locale for system error
    > message
    >                     # strings
    > lc_monetary = 'Portuguese_Brazil'            # locale for monetary
    > formatting
    > lc_numeric = 'Portuguese_Brazil'            # locale for number formatting
    > lc_time = 'Portuguese_Brazil'                # locale for time formatting
    >
    > # - Other Defaults -
    >
    > #explain_pretty_print = on
    > #dynamic_library_path = '$libdir'
    > #local_preload_libraries = ''
    >
    >
    > 
#---------------------------------------------------------------------------
    > # LOCK MANAGEMENT
    > 
#---------------------------------------------------------------------------
    >
    > #deadlock_timeout = 1s
    > #max_locks_per_transaction = 64        # min 10
    >                     # (change requires restart)
    > # Note: each lock table slot uses ~270 bytes of shared memory, and
    > there are
    > # max_locks_per_transaction * (max_connections +
    > max_prepared_transactions)
    > # lock table slots.
    >
    >
    > 
#---------------------------------------------------------------------------
    > # VERSION/PLATFORM COMPATIBILITY
    > 
#---------------------------------------------------------------------------
    >
    > # - Previous Postgres Versions -
    >
    > #add_missing_from = off
    > #array_nulls = on
    > #backslash_quote = safe_encoding    # on, off, or safe_encoding
    > #default_with_oids = off
    > #escape_string_warning = on
    > #standard_conforming_strings = off
    > #regex_flavor = advanced        # advanced, extended, or basic
    > #sql_inheritance = on
    >
    > # - Other Platforms & Clients -
    >
    > #transform_null_equals = off
    >
    >
    > 
#---------------------------------------------------------------------------
    > # CUSTOMIZED OPTIONS
    > 
#---------------------------------------------------------------------------
    >
    > #custom_variable_classes = ''        # list of custom variable class names
    > *
    >
    >
    > --
    > Rafael Bragatto Gratz
    >

    > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>

    > Projeta Sistemas Orientados Ao Seu Mundo

    > www.projetasistemas.com.br <http://www.projetasistemas.com.br>
    >
    >
    > ------------------------------------------------------------------------
    >
    > _______________________________________________
    > pgbr-geral mailing list
    > pgbr-geral@listas.postgresql.org.br
    > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
    >
    Qual a configuração do hardware?


    --
    Cordialmente;

    Aluisio Gouveia

    _______________________________________________
    pgbr-geral mailing list
    pgbr-geral@listas.postgresql.org.br
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




  -- 
  Rafael Bragatto Gratz

  [EMAIL PROTECTED]
  Projeta Sistemas Orientados Ao Seu Mundo
  www.projetasistemas.com.br 


------------------------------------------------------------------------------


  _______________________________________________
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a