MySQL/PHP会消耗所有内存


MySQL/PHP consumes all 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"}'

内存消耗的图像:https://i.stack.imgur.com/Dcdfq.png

  • 上一张图片显示MySQL/PHP的高消耗

VPS服务器规格:

突发存储器:2048 MB

保证内存:1024 MB

RAID10存储:60 GB

月流量:2000 GB

操作系统:Centos 6 32位

cPanel;WHM

如何解决?

好消息是:你的网站非常受欢迎,你的主机容量已经超过了!

坏消息是:你的网站太受欢迎了,你的主机容量已经超过了。

CPU和内存利用率本身并不一定代表真实世界的性能,尤其是在web应用程序上,您往往会遇到流量峰值,从而达到资源利用率峰值。

如果你的网站确实很慢,最便宜的选择可能是从你的主机提供商那里购买更多的CPU/内存。

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

如果你不想为更多的铁付费,你就必须优化你的网站。没有细节很难具体说明,但挂在最下面的果实通常是:

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