很多低内存的服务器比如1G或者更低的服务器,安装宝塔面板后发现经常内存爆满,很多用户误以为是宝塔占用较大的内存导致的问题,其实不然,宝塔本身占用的系统内存并不高的,大约70M左右的内存占用,以linux为例所以我们要如何优化降低服务器的内存消耗呢。
1、优化mysql内存占用
mysql服务通常是占用内存较高的服务之一,最消耗内存的,因此我们需要调整优化性能,点击mysql设置-性能调整。key_buffer_size,query_cache_size等各个参数的设置。我们需要结合当前状态下的活动/峰值连接数,线程缓存命中率,索引命中率,Innodb索引命中率,查询缓存命中率等值来做调整和优化,比如活动/峰值连接数连接数只有20,把最大连接数设置为30-50只有即可,这样可以大大降低mysql的最大内存占用,其他参数也可以市场最一些调整和降低。
2、优化php性能参数
降低max_children,【max_children最大子进程数量】越大,并发能力越强,但max_children最大不要超过5000,可以参考并发方案选择对应的内存对应的方案,然后适当降低max_children。
3、卸载不需要的一些软件
以阿里云为例,阿里云服务器会自动运行阿里云盾。比如安装了多个版本的php,但是使用的却使用一个,则保留一个版本的即可,去掉多余的php。
4、添加计划任务,定期清理系统内存
建议在宝塔面板-计划任务中设置定期任务,如每天释放一次内存,释放PHP、MYSQL、PURE-FTPD、APACHE、NGINX的内存占用,建议在每天半夜执行,这样不会对已网站用户带来影响。
5、启用流量控制方案,安装防火墙
网站被频繁的高并发访问也会带来高内存的占用,因此要注意屏蔽恶意访问,非正常的访问流量,避免服务器和网站被攻击导致高内存的占用。