簡單解決mysql佔用資源過大問題

來源:互聯網
上載者:User

    在 linux 下,經常出現的情況就是使用 VBB 這種論壇系統時,出現緩慢,mysql 假死狀態,sleep進程過多等等現像。導致幾十個使用者,就把系統搞定了。
    其實這是 mysql 配置上的問題, 預設的 linux 中, mysql 的配置是 my-large.cnf 配置,該配置適合大型伺服器。有高記憶體,比如2G,4G記憶體的,適合使用,而一般512M記憶體 的就不行了。它會佔用512M記憶體來儲存系統 mysql 的進程,這些進程長期堆質,並不釋放,導致系統緩慢。所以,把配置改變成為 my-small.cnf ,小型配置就可以了。它的配置如下:
    # Example mysql config file for small systems.
    #
    # This is for a system with little memory (<= 64M) where MySQL is only used
    # from time to time and it's important that the mysqld deamon
    # doesn't use much resources.
    #
    # You can copy this file to
    # /etc/my.cnf to set global options,
    # mysql-data-dir/my.cnf to set server-specific options (in this
    # installation this directory is /var/lib/mysql) or
    # ~/.my.cnf to set user-specific options.
    #
    # One can in this file use all long options that the program supports.
    # If you want to know which options a program support, run the program
    # with --help option.
    # The following options will be passed to all MySQL clients
    [client]
    #password = 你的密碼
    port = 3306
    socket = /tmp/mysql.sock
    # Here follows entries for some specific programs
    # The MySQL server
    [mysqld]
    port = 3306
    socket = /tmp/mysql.sock
    skip-locking
    set-variable = key_buffer=16K
    set-variable = max_allowed_packet=1M
    set-variable = thread_stack=64K
    set-variable = table_cache=4
    set-variable = sort_buffer=64K
    set-variable = net_buffer_length=2K
    server-id = 1
    # Uncomment the following if you want to log updates
    #log-bin
    # Uncomment the following if you are NOT using BDB tables
    #skip-bdb
    # Uncomment the following if you are using InnoDB tables
    #innodb_data_home_dir = /var/lib/mysql/
    #innodb_data_file_path = ibdata1:10M:autoextend
    #innodb_log_group_home_dir = /var/lib/mysql/
    #innodb_log_arch_dir = /var/lib/mysql/
    # You can set .._buffer_pool_size up to 50 - 80 %
    # of RAM but beware of setting memory usage too high
    #set-variable = innodb_buffer_pool_size=16M
    #set-variable = innodb_additional_mem_pool_size=2M
    # Set .._log_file_size to 25 % of buffer pool size
    #set-variable = innodb_log_file_size=5M
    #set-variable = innodb_log_buffer_size=8M
    #innodb_flush_log_at_trx_commit=1
    #set-variable = innodb_lock_wait_timeout=50
    [mysqldump]
    quick
    set-variable = max_allowed_packet=16M
    [mysql]
    no-auto-rehash
    # Remove the next comment character if you are not familiar with SQL
    #safe-updates
    [isamchk]
    set-variable = key_buffer=8M
    set-variable = sort_buffer=8M
    [myisamchk]
    set-variable = key_buffer=8M
    set-variable = sort_buffer=8M
    [mysqlhotcopy]
    interactive-timeout
    以上配置足夠 你的系統高速運行 mysql 了,sleep的進程,很快就被回收,不佔資源,這非常適合小型伺服器。一般個人託管的伺服器也很適合。




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.