生产机器 linux  mysql5
用top命令发现 mysqld mem一下午总是 64%   cpu在不停浮动 1,4,10%。我用root帐号 show processlist ,没有发现什么死锁语句。
为什么总是 mysqld 占用mem一下午总是 64% ,是否过高 ?(原因以及如何解决?)

解决方案 »

  1.   

    看你的my.cnf 中的设置,贴出来看一下。
      

  2.   


    #OS: tuning
    table_cache = 1024
    key_buffer = 256M
    record_buffer = 16M
    wait_timeout=800
    connect_timeout=25
    interactive_timeout=800
    max_connections=500
    sort_buffer = 128M
    innodb_log_file_size = 50M
    innodb_log_buffer_size = 8M
    innodb_buffer_pool_size = 1300MB
    innodb_thread_concurrency=50
    innodb_flush_method=O_DSYNC
    innodb_status_file = 1
    innodb_flush_log_at_trx_commit = 0
    innodb_autoextend_increment = 25M
    skip-external-locking
    innodb_table_locks=0max_allowed_packet=32M
    tmp_table_size=96M
    thread_concurrency=10
    thread_cache_size=500#result set and query cache
    query_cache_type = 0
    query_cache_size = 0long_query_time = 1
    -------------我把关键的给贴出来了
      

  3.   

    senior DBA said :MySQL好象是占用了就不会再下降下来了。除非重启。另外对于专用DB机器占用在80%左右都是合理的。你的才占用64%,还是很少的。如果不你想让它占用那么多内存,可以重新配置你的my.cnf
      

  4.   

    看看这个:MySQL内存使用 - 全局共享MySQL内存使用-线程独享