添加于编辑,2013-05-29:因为这是一个很长的问题和讨论,这里是问题和解决方案的简短摘要。我在小型 Linux 服务器(1 GB 内存)上运行 MySQL 和 Apache 时遇到问题。Apache 不断要求更多的内存,结果,操作系统总是杀死 MySQL 以重新获得内存。 解决方案是用 Lighttpd 替换 Apache。在我这样做之后,服务器上的内存使用已经完全稳定了几个月,而且我没有出现任何形式的崩溃。编辑结束
我是一个小型虚拟服务器的初学者系统管理员。服务器的主要功能是运行用PHP编写的开源Moodle课程管理系统软件。它依赖于数据库(在本例中为 MySQL)和 Web 服务器(在本例中为 Apache)。
该服务器运行 64 位 CentOS 5.8 版(最终版),具有 1 GB 内存和 200 GB 磁盘,内核版本 2.6.18-308.8.2.el5xen。MySQL 版本为 Ver 14.14 Distrib 5.5.25,适用于使用 readline 5.1 的 Linux (x86_64)。
我不认为 Moodle 软件是 MySQL 的重度用户。目前,只有大约十位教师可以访问它,当我使用 bzip2 转储和压缩整个数据库时,生成的转储大小小于 1 MB。
我几个月前设置了系统。Apache服务器一直稳定,但MySQL崩溃了几次。尝试从网上学习了最佳配置,上次改/etc/my.cnf文件时,/usr/share/doc/mysql55-server-5.5.25/my-large.cnf以MySQL自带的文件为例。该文件说它适用于具有 512 MB 内存的系统,因此我认为使用其与内存相关的配置参数对该系统来说是安全的。(我之前用更小的数字配置了MySQL的内存相关参数,我认为这可能导致崩溃。虽然崩溃仍然发生,但系统至少现在更快了。)这些是当前的内容/etc/my.cnf:
# /etc/my.cfg
# The main and only MySQL configuration file on [WEBSITE …Run Code Online (Sandbox Code Playgroud)