我试图解决这个问题两天没有成功。 该服务器是一个MySQL数据库服务器。
硬件: DELL Poweredge 1950,2x Intel Xeon四核E5345 @ 2.33GHz,16 Gb内存,2x 146Gb SAS(软件RAID1)
软件: Ubuntu 10.04.3 LTS,MySQL 5.1.41
问题:虽然MySQL没有使用,没有数据库运行,一切似乎没问题。 一旦我安装了一个数据库,就有理由把所有8个内核全部用低内存消耗 。 所以,你可以想象负荷平均值高(我第一次看到212负荷平均值)。 服务器不会变得没有响应,但浏览安装的项目时可以看到速度很慢。
附加信息:
my.cnf
也不是一个原因,因为我使用了默认的一个和我在另一个服务器上使用同一个分配的。有趣的是,mysql不closures任何进程并运行到max_connections的限制。 我testing了磁盘速度,似乎没问题。
运行服务器上的更多输出:
dstat -cndymlp -N total -D total 3:
htop
命令:
有没有人遇到同样的问题? 你能想到的任何修复?
有趣的部分(除了MySQL是如此繁忙…)是大多数CPU时间似乎去system
,而不是user
时间。
你可以触发这种与MySQL以外的其他程序相同的行为? 尝试,例如, stress
并使其消耗CPU -128的stress -c 128
。 对于我产生的128个线程,消耗93%的用户,7%的系统CPU(根据顶部)。 无论如何,这在Fedora 15中。 如果即使是压力让你的服务器主要消耗系统时间,也是非常错误的。
有时,像过时的服务器固件等意想不到的事情会导致各种各样的时髦副作用。 你升级了你的服务器固件吗? 另外新的内核特性,比如dynamic ticks
在某些条件下会使事情变得迟缓。 您可以尝试通过将nohz=off
作为引导parameter passing给GRUB来禁用它们。
尝试查杀mysql
,看看会发生什么。 您需要确定需要占用多lessCPU资源。
如果CPU利用率下降,请提供有关MySQLconfiguration和业务性质的更多信息。
对不起没有仔细阅读,我在图片上付出了太多的关注。
如何尝试使用新版本或重新安装MySQL? 十年的系统pipe理经验告诉我这似乎是不可能的。