由于服务器只有600M的内存,上面跑了一个并发并不是很大的php应用,当运行一段时间后,发现内存不断增长,其中一部分是PageCache的增长, 这个可以通过echo 3 > /proc/sys/vm/drop_caches 命令来进行有效的释放,另外一个应用内存的增长,且无法释放,通过top命名(输入命名后按m键可按进程占用内存大小的排序)查看,发现大部分内存都被 php-fpm 占用,网上查了一下,大概的意思是说,处理每个php请求完成后,php-fpm会回收内存,但不会释放给操作系统,从而导致大量的内存被php-fpm 占用。
网上也提到解决方法,就是调整php-fpm.conf中的pm.max_requests值,pm.max_requests的作用是发送多少个 请求后会重启该线程,从而使其释放占用的内存,默认0,即决不重启。在我的应用把该值设置为250,观察一段时间后,发现还是有好几个php-fpm占用 内存的比例是2.8%左右,效果不理想,可能的原因是请求量大,还是无法达到这个阀值,将其设置为10的时候,发现php-fpm是会不断的重启的。个人 感觉这样配置不是太好,所有还是把这个值置为250,同时用一个脚本来进行杀掉php-fpm
,从而释放他占用的内存,另外如果系统负载巨大,重启会导致 cpu的使用率飙升
。脚本如下:
#!/bin/bash
log=/home/www/scripts/php-fpm.log
echo `date "+%F %H:%M:%S"` >> $log
for PID in `ps aux|grep php-fpm|grep -v grep|awk '{if($4>=1)print $2}'`
do
kill -9 $PID
echo $PID >> $log
done
可以把脚本加到crontab中让其定期执行.
另外记录几个长用的命令:
1、按顺序列出内存占用率的进程 ps -A –sort -rss -o comm,pmem,pcpu |uniq -c |head -15
2、指令vmstat可以监控内存使用情况,作为对内存监控,我们比较关心swpd、free、si、so。一般系统不繁忙的状态下,我们看到swpd,so的值不会持续很高,经常为0
3、通过pmap来查看进程占用内存的详细情况,例如,pmap 进程号
本 文参考了:http://blog.csdn.net/zouyongjin/article/details/6642157和http: //www.opsers.org/linux-home/server/php-fpm-on-analysis-of-system-resources.html
分享到:
相关推荐
ffmpeg+nginx+nginx-rtmp-module搭建个人直播平台。 使用说明(ffmpeg+nginx+rtmp-module已经整合,支持HTTP,具体配置查看conf/nginx.conf): 1.解压后,运行nginx_start.bat。(查看监控状态 ...
nginx+php-fpm解决502 Bad Gateway.zip
Nginx 是一款采用事件驱动架构的高性能 Web 服务器,以其并发处理能力、稳定性以及低内存占用而闻名。它不仅可以用作静态内容的 Web 服务器,还可以作为反向代理、负载均衡器和邮件代理服务器。 2. **HTTP FLV ...
1、在Windows系统下,搭建ffmpeg推流+nginx-http-flv-module直播拉流+FLV.js播放环境,所需依赖相关资源文件。 2、适合初学、研究、验证视频直播部署方案的相关技术人员。
CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0
FFmpeg、Nginx-RTMP-Module 和 FLV 监控视频Web展示是一个整合了实时流媒体处理、传输和播放的技术方案。这个方案适用于在Web端实现监控视频的实时展示,尤其对于需要构建远程监控系统或者直播平台的场景非常实用。...
标题中的"nginx+php-fpm模式php内存泄漏探究1"是指在使用Nginx作为Web服务器,PHP-FPM作为PHP解释器的环境中,出现PHP内存泄漏的现象。描述中提到了一个实际案例,即一个PHP-FPM进程占用2GB内存,而实际上在php.ini...
【标题】"nginx1.16.1+nginx-upload-module-2.3.0.zip" 涉及的核心知识点是 Nginx 和一个特定的模块 —— nginx-upload-module。Nginx 是一款高性能的 Web 服务器和反向代理服务器,广泛应用于高并发场景,其轻量级...
**Nginx与Nginx-RTMP及Nginx-HTTP-FLV模块** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器,被广泛应用于高并发场景,尤其在处理静态文件、HTTP缓存以及反向代理等方面表现出色。Nginx以其高效的事件驱动...
这里我们关注的是一个包含特定模块的Nginx配置:`nginx1.16`,`nginx-upstream-check-module-master` 和 `nginx-upload-module`。这三个组件将帮助我们增强Nginx在处理后端服务健康检查、文件上传等方面的功能。 ...
本安装文件修改了源码网的“CentOS 集成linux+php-cgi+nginx+mysql安装包“里面的部分文件,主要是修改了install.sh内的几个错误位置。目前我测试在centos 5.4下,安装一切正常! 使用这个安装之前请一定看一下本...
【Nginx + PHP-FPM + APC 绝妙组合详解】 在互联网服务领域,Nginx、PHP-FPM(PHP FastCGI Process Manager)和 Alternative PHP Cache (APC) 的结合已经成为一种高效的Web服务器配置模式,尤其适用于高流量网站。...
本资源包“nginx+ffmpeg+nginx-http-flv-module+html资源包”提供了搭建Linux环境中流媒体服务所需的基本组件。以下是各部分的详细解释: 1. **Nginx**: Nginx是一款高性能的Web服务器,也常被用作反向代理、负载...
解决nginx+php-fpm无法上传文件问题 一、nginx配置文件中的client_max_body_size设置 在nginx配置文件中,client_max_body_size指令用于设置客户端能够上传的最大文件大小。默认情况下,该值设置为1M,导致上传大...
### Nginx+php-fpm优化技巧总结 #### 一、引言 随着互联网应用的不断发展壮大,服务器的性能优化成为提升用户体验的关键因素之一。在众多高性能架构中,Nginx+php-fpm的组合因其高效稳定而备受青睐。本文将深入探讨...
【Nginx+PHP-FPM+APC 组合详解】 Nginx+PHP-FPM+APC是一种高效的Web服务架构,特别适用于处理高流量的PHP应用。这种组合的优势在于优化资源利用,提高服务器响应速度,减少内存消耗,并提供更好的性能。 首先,...
nginx+php+nginx-rrd安装笔记、只是简单记录命令等操作、重要的事情说两遍,我承认,这个字数太多了,只是在凑字数。
Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音...不同的是在configure的时候需要增加nginx-rtmp-module的支持,下载好nginx-rtmp-module后解压,然后nginx安装时增加这个模块(--add-module),其它都是一样的.
nginx+lua+docker+docker-compose实现简单服务分发