mysql 不释放内存_mysql永远不会释放内存

我有一台生产服务器,每月的页面浏览量大约为400万.服务器有8GB的RAM,mysql充当数据库.

我在处理mysql时遇到了这个问题.我需要每天两次重启mysql来处理这个问题. mysql的问题在于它从一些特定的职业开始,mysql消耗的内存不断增加,直到它达到它可以消耗的最大值,然后mysql停止缓慢响应或根本不响应,这冻结了服务器.

我的所有表都已正确编入索引,并且没有长查询.我需要一些人来帮助我们如何调试这里要做的事情.

我所有的桌子都是myisam.

我已经尝试配置参数key_buffer等但没有救援.非常感谢任何形式的帮助.以下是一些可能有用的参数.

mysql --version

mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1

mysql> show variables;

+---------------------------------+------------------------------------------------------------+

| Variable_name | Value |

+---------------------------------+------------------------------------------------------------+

| auto_increment_increment | 1 |

| auto_increment_offset | 1 |

| automatic_sp_privileges | ON |

| back_log | 50 |

| basedir | /usr/ |

| bdb_cache_size | 8384512 |

| bdb_home | /var/lib/mysql/ |

| bdb_log_buffer_size | 262144 |

| bdb_logdir | |

| bdb_max_lock | 10000 |

| bdb_shared_data | OFF |

| bdb_tmpdir | /tmp/ |

| binlog_cache_size | 32768 |

| bulk_insert_buffer_size | 8388608 |

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

| collation_connection | latin1_swedish_ci |

| collation_database | latin1_swedish_ci |

| collation_server | latin1_swedish_ci |

| completion_type | 0 |

| concurrent_insert | 1 |

| connect_timeout | 10 |

| datadir | /var/lib/mysql/ |

| date_format | %Y-%m-%d |

| datetime_format | %Y-%m-%d %H:%i:%s |

| default_week_format | 0 |

| delay_key_write | ON |

| delayed_insert_limit | 100 |

| delayed_insert_timeout | 300 |

| delayed_queue_size | 1000 |

| div_precision_increment | 4 |

| keep_files_on_create | OFF |

| engine_condition_pushdown | OFF |

| expire_logs_days | 0 |

| flush | OFF |

| flush_time | 0 |

| ft_boolean_syntax | + ->

| ft_max_word_len | 84 |

| ft_min_word_len | 4 |

| ft_query_expansion_limit | 20 |

| ft_stopword_file | (built-in) |

| group_concat_max_len | 1024 |

| have_archive | NO |

| have_bdb | YES |

| have_blackhole_engine | NO |

| have_compress | YES |

| have_crypt | YES |

| have_csv | NO |

| have_dynamic_loading | YES |

| have_example_engine | NO |

| have_federated_engine | NO |

| have_geometry | YES |

| have_innodb | YES |

| have_isam | NO |

| have_merge_engine | YES |

| have_ndbcluster | NO |

| have_openssl | DISABLED |

| have_ssl | DISABLED |

| have_query_cache | YES |

| have_raid | NO |

| have_rtree_keys | YES |

| have_symlink | YES | |

| init_connect | |

| init_file | |

| init_slave | |

| interactive_timeout | 28800 |

| join_buffer_size | 131072 |

| key_buffer_size | 2621440000 |

| key_cache_age_threshold | 300 |

| key_cache_block_size | 1024 |

| key_cache_division_limit | 100 |

| language | /usr/share/mysql/english/ |

| large_files_support | ON |

| large_page_size | 0 |

| large_pages | OFF |

| lc_time_names | en_US |

| license | GPL |

| local_infile | ON |

| locked_in_memory | OFF |

| log | OFF |

| log_bin | ON |

| log_bin_trust_function_creators | OFF |

| log_error | |

| log_queries_not_using_indexes | OFF |

| log_slave_updates | OFF |

| log_slow_queries | ON |

| log_warnings | 1 |

| long_query_time | 8 |

| low_priority_updates | OFF |

| lower_case_file_system | OFF |

| lower_case_table_names | 0 |

| max_allowed_packet | 8388608 |

| max_binlog_cache_size | 4294963200 |

| max_binlog_size | 1073741824 |

| max_connect_errors | 10 |

| max_connections | 400 |

| max_delayed_threads | 20 |

| max_error_count | 64 |

| max_heap_table_size | 16777216 |

| max_insert_delayed_threads | 20 |

| max_join_size | 4294967295 |

| max_length_for_sort_data | 1024 |

| max_prepared_stmt_count | 16382 |

| max_relay_log_size | 0 |

| max_seeks_for_key | 4294967295 |

| max_sort_length | 1024 |

| max_sp_recursion_depth | 0 |

| max_tmp_tables | 32 |

| max_user_connections | 0 |

| max_write_lock_count | 4294967295 |

| multi_range_count | 256 |

| myisam_data_pointer_size | 6 |

| myisam_max_sort_file_size | 2146435072 |

| myisam_recover_options | OFF |

| myisam_repair_threads | 1 |

| myisam_sort_buffer_size | 16777216 |

| myisam_stats_method | nulls_unequal |

| net_buffer_length | 16384 |

| net_read_timeout | 30 |

| net_retry_count | 10 |

| net_write_timeout | 60 |

| new | OFF |

| old_passwords | OFF |

| open_files_limit | 2000 |

| optimizer_prune_level | 1 |

| optimizer_search_depth | 62 |

| pid_file | /var/run/mysqld/mysqld.pid |

| plugin_dir | |

| port | 3306 |

| preload_buffer_size | 32768 |

| profiling | OFF |

| profiling_history_size | 15 |

| protocol_version | 10 |

| query_alloc_block_size | 8192 |

| query_cache_limit | 1048576 |

| query_cache_min_res_unit | 4096 |

| query_cache_size | 134217728 |

| query_cache_type | ON |

| query_cache_wlock_invalidate | OFF |

| query_prealloc_size | 8192 |

| range_alloc_block_size | 4096 |

| read_buffer_size | 2097152 |

| read_only | OFF |

| read_rnd_buffer_size | 8388608 |

| relay_log | |

| relay_log_index | |

| relay_log_info_file | relay-log.info |

| relay_log_purge | ON |

| relay_log_space_limit | 0 |

| rpl_recovery_rank | 0 |

| secure_auth | OFF |

| secure_file_priv | |

| server_id | 1 |

| skip_external_locking | ON |

| skip_networking | OFF |

| skip_show_database | OFF |

| slave_compressed_protocol | OFF |

| slave_load_tmpdir | /tmp/ |

| slave_net_timeout | 3600 |

| slave_skip_errors | OFF |

| slave_transaction_retries | 10 |

| slow_launch_time | 2 |

| socket | /var/lib/mysql/mysql.sock |

| sort_buffer_size | 2097152 |

| sql_big_selects | ON |

| sql_mode | |

| sql_notes | ON |

| sql_warnings | OFF |

| ssl_ca | |

| ssl_capath | |

| ssl_cert | |

| ssl_cipher | |

| ssl_key | |

| storage_engine | MyISAM |

| sync_binlog | 0 |

| sync_frm | ON |

| system_time_zone | CST |

| table_cache | 256 |

| table_lock_wait_timeout | 50 |

| table_type | MyISAM |

| thread_cache_size | 8 |

| thread_stack | 196608 |

| time_format | %H:%i:%s |

| time_zone | SYSTEM |

| timed_mutexes | OFF |

| tmp_table_size | 33554432 |

| tmpdir | /tmp/ |

| transaction_alloc_block_size | 8192 |

| transaction_prealloc_size | 4096 |

| tx_isolation | REPEATABLE-READ |

| updatable_views_with_limit | YES |

| version | 5.0.77-log |

| version_bdb | Sleepycat Software: Berkeley DB 4.1.24: (January 29, 2009) |

| version_comment | Source distribution |

| version_compile_machine | i686 |

| version_compile_os | redhat-linux-gnu |

| wait_timeout | 28800 |

+---------------------------------+------------------------------------------------------------+

解决方法:

你的key_buffer设置为2.5Gb,对吗?

这是一个32位系统.

你在开玩笑?

如果您计划在服务器上运行MySQL,那么您真的需要使用64位操作系统.否则,你无法合理地使用足够的内存.它可能耗尽了地址空间,而不是内存.如您所见,这会导致问题.

进程在32位Linux中可以使用的最大地址空间通常在3G左右.你在大尺寸钥匙缓冲器上大部分都是吹的,留下很小的喘息空间.

作为临时解决方法,请大量减少密钥缓冲区.您绝对应该开始监视VM使用情况,直到可以迁移到64位.

标签:mysql,mysqli,mysql-management

来源: https://codeday.me/bug/20190701/1343708.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值