|
( D1 ]- {, G6 N# [. T; ^* i 不得不说,宝塔面板还是比较好用的,尤其是在用户体验方面做得不错,值得站长朋友们使用开启监控功能监控功能对于了解服务器运行状态非常有用,宝塔内置的监控功能还是比较准确的,我们可以很好地看到服务器的负载、内存和cpu使用情况,以及带宽占用等,以此来判断服务器是否被攻击,是否配置需要升级等等。 8 R# {) n9 o: K: a4 \; T8 U
比如,我们看到CPU、内存和带宽几乎在同一时间段快速升高,那我们初步判断有可能被攻击;如果网站流量上涨较多,并且排除了程序段的问题,内存还是居高不下(维持80%以上),那可能我们就需要考虑是否需要升级内存。 0 r2 \7 v" @( T3 ?5 M( q. w
如何开启宝塔面板的监控功能?正如下图所示,只需勾选“开启监控”即可。
: `% }9 B) m/ L+ B7 }% ~! c 解决内存占用过高在使用宝塔的过程中,有时候会遇到内存一直居高不下(维持在80%以上),通常来说,从监控看到内存占用一直在80%以上,已经说明内存不够用了,此时可能会出现网站运行缓慢、Mysql数据库不定期宕机等情况。
, m7 l+ ?% u7 P. `3 H; X 导致内存占用过高的原因很多,比如程序有严重的bug、网站被攻击、突发大流量进入等但是如果不是以上原因,你的服务器内存占用还是一直居高不下,那可能是由于php进程数一直在增长,没有自动关闭旧请求导致的内存占用。 : x$ h* o! m& q s# ~ c
。这个就是今天我们所要解决的问题,下图就是倡萌的客户服务器上的真实案例:
' g; c2 M7 E( f h/ F3 {/ w) d v 客户网站流量一直不高,但是内存占用一直保持在80%以上,在排除了各种可能原因之后,最终确认是php请求一直占用内存解决的办法也比较简单,就是在 php-fpm.conf 添加一行设置,重启php即可注:php-fpm.conf 文件一般位于 /www/server/php/ - M, D g0 u7 |( j) M% q) s/ [
70/etc 目录下,注意 70 是php的版本号,需要根据你的php版本变更。#一般建议2G内存可以设置 3000-4000pm.max_requests = 3000
% \+ P0 r: Z5 Q2 s8 X& ~ 重启php以后,我们观察几个小时,如果内存占用平稳维持在 50% 左右,说明设置的值是比较合适的,如果占用偏高,就减小pm.max_requests设置的值,反之可增加值。 3 i5 y% w8 Q2 P* k
: O- f" R) J ?0 ]: T% ?
& f5 e q! I; N! I& l( C `6 f$ J) {& _ _) R0 f- L
5 n; M. a' R) e( ~9 A0 q& q |