前一段时间我的小博客出现了卡死的情况,用宝塔面板看监控,主要是内存被占满了导致的,这里主要介绍下我排查问题的方法和解决方案。
排查问题
如果出现特别卡的情况,VPS其实和电脑一样,肯定是CPS,内存,IO哪个被占用满了。可以通过宝塔这种面板的监控或者你使用的VPS服务商的管理工具。像下面的情况,就是内存被占用满了导致的。我的小博客流量并不大的,所以肯定是哪里配置有问题。
这里介绍一个很好用的命令:top
Top命令我感觉有点像Windows里面的任务管理器,上半部分会显示整体的性能情况,下面是进程的资源占用情况。这个命令默认显示的是cpu密集型的进程,并且每5秒钟更新一次。
这里主要关注%CPU,%MEM两列,即CPU和内存占用率。
进入top命令后点击M可以按内存占用排序,P按CPU占用排序,q退出top命令(主要大小写!!!)。
更详细的top命令说明可以参考:https://www.cnblogs.com/zhoug2020/p/6336453.html
这里可以看到php-fpm占用很高,之前mysqld也很高的,这两分别就是PHP和MySQL的进程了。
解决方案
如果你使用的是宝塔面板,配置还是挺简单的。
宝塔面板首页就可以看到运行中的MySQL和PHP,点击图标就可以进入配置页面。
宝塔内置的就有一些推荐配置。
比如MySQL按照你的内存情况选择优化方案,然后保存重启就好了。
PHP也是类似的,这里可以简单算一下,一个php-fpm进程占用大概5%左右,那么max_children*5差不多是php-fpm占用的最大内存占比了。不过也不能设置的太小,那样PHP就会跑的比较慢。
min_spare_severs是平时空闲的时候待命的进程数,设置的太小了,有访问的时候就需要重新起进程,拖慢速度。
如果你不是用的宝塔面板,就需要手动去找到MySQL和PHP的配置文件修改这些参数了。
别忘了重启服务。
除非注明,否则均为Troy小法师原创文章,转载必须以链接形式标明本文链接
本文链接: https://www.troyqi.com/archives/608/网站突然很慢,vps内存占满了怎么办/
0 条评论