MySQL / PHP消耗所有内存

时间:2013-12-09 12:19:08

标签: php mysql memory

我对MySQL的使用有很多问题。

在SSH中添加此内容以查看内存消耗。

ps --no-headers -Leo pmem,pcpu,command|awk 'BEGIN { print "CPU\t\ttMEM\t\tPROCNAME \n" } {{array[$3]+=$2};{array2[$3]+=$1}} END { for ( item in array) print array[item] " %" "\t" ,array2[item] " %" "\t\t", item }' |awk 'NR==1;NR > 1 {print $0 | "sort -rn -k 1,1"}'

此内存消耗图像:http://i.stack.imgur.com/Dcdfq.png

  • 上图显示了MySQL / PHP的高消耗量

VPS服务器规范:

Burst Memory:2048 MB

保证内存:1024 MB

RAID10存储:60 GB

每月流量:2000 GB

操作系统:Centos 6 32位

的cPanel&安培; WHM

如何解决?

1 个答案:

答案 0 :(得分:0)

好消息:您的网站非常受欢迎,您已经超出了托管容量!

坏消息:您的网站非常受欢迎,您的托管容量已经不足了。

单独的CPU和内存利用率并不一定表示实际性能,尤其是在Web应用程序中,您往往会获得流量峰值,从而导致资源利用率达到峰值。

如果您的网站确实很慢,最便宜的选项可能会从您的托管服务商那里购买更多的CPU /内存。

您可以调整MySQL配置设置以减少内存消耗,可能会牺牲性能。

如果您不想支付更多费用,则必须优化您的网站。如果没有细节,很难具体,但最低悬的果实通常是:

  • 使用缓存。为了有效性,您可以缓存页面(例如,使用CDN),缓存页面片段和缓存数据库查询。这应该有助于CPU,但可能会增加内存使用量。
  • 查看您的数据库并查找长时间运行的查询;调整它们。