加拿大华人论坛 加拿大百科解决 Mysql 占用系统资源过大的问题
在加拿大
解决 Mysql 占用系统资源过大的问题在 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 = 3306socket = /tmp/mysql.sock# Here follows entries for some specific programs# The MySQL server[mysqld]port = 3306socket = /tmp/mysql.sockskip-lockingset-variable = key_buffer=16Kset-variable = max_allowed_packet=1Mset-variable = thread_stack=64Kset-variable = table_cache=4set-variable = sort_buffer=64Kset-variable = net_buffer_length=2Kserver-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]quickset-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=8Mset-variable = sort_buffer=8M[myisamchk]set-variable = key_buffer=8Mset-variable = sort_buffer=8M[mysqlhotcopy]interactive-timeout以上配置足够 你的系统高速运行 mysql 了,sleep的进程,很快就被回收,不占资源,这非常适合小型服务器。一般个人托管的服务器也很适合。
·加拿大新闻 全新奥迪A6L3.0T:2026年上市,外观变化太大?
·加拿大新闻 发现了吗?房贷才是检验牛马的唯一标准
·加拿大新闻 [评论] 保守党频出状况博励治领导地位岌岌可危
·加拿大新闻 幕后牵线曝光!万锦自由党议员出手,促成马荣铮跳槽
·加拿大新闻 加拿大大部分地区将迎“白色圣诞”安省魁省概率最高
·中文新闻 书评:乔治·帕克的《紧急情况》提供了美国未来的反乌托邦愿
·中文新闻 霍克斯伯里比赛、周日比赛、比赛技巧和周日霍克斯伯里会议的

