本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=653 什么是php-fpm: php-fpm即FastCGI进程管理器,用于控制php的内存和进程等. 操作环境: CentOS 7 问题检查: 首先查看php进程总数: pstree|grep php-fpm 回显: |-php-fpm---20*[php-fpm] 根据回显信息可知,查询时有20个php-fpm进程. 也可以通过下面的命令列出消耗内存最多的前50个进程: ps auxw|head -1;ps…
下面两种现象,用同一种方法解决 1.解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题 2.突然有一天首页访问图片很慢,至少隔20多秒所有图片才会出来.(解析:app使用了SDWebImage的sd_setImageWithURL获取图片,SDWebImage获取图片的原理是先从本地缓存获取,如果没有从本地磁盘获取,如果没有再根据url从网络获取.具体可查看 http://www.cnblogs.com/Kingly/p/5235004.html ,通过跟踪代码,…
  用rsync同步远程服务器,由于设置的的同步间隔较短(5分钟),这样一旦网速问题导致5分钟内同步不完.就会倒是同步紊乱,导致系统中很多rsync进程(# ps -aux | grep rsync) 解决方法1.使用linux bash脚本 定时执行,杀死多余的rsync进程2.脚本内容如下 #!/bin/bash## Propram:#       Kill the redundant Rsync process# #     # for i in `ps -ef |grep rsync |…
现场出现了一个问题,oracle运行一段时间之后,process个数会溢出,然后新的连接会失败.通过分析,发现Arcgis Server 的ArcSOC进程在不段增长.ArcSOC是arcgis server 的一个容器进程,该容器中装载arcgis object. 计划尝试用两个方法来解决/缓解这一问题. 方法一 调整每个服务的配置信息,具体如下: 将空间实例可持续运行的最长时间由1800s降低到600s 将实例的隔离级别设置为"低隔离性",如下图: 建议:先使用第一种方法修改服务配…
1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps auxw|sort -rn -k4|head -10 3.虚拟内存使用最多的前10个进程 ps auxw|head -1;ps auxw|sort -rn -k5|head -10 4.也可以试试 ps auxw --sort=rssps auxw --sort=%cpu 5.看看几个参数含义 %ME…
Starting sendmail: Starting sm-client: 刚才发了修改主机名那篇文章后,我意外发现重新启动CentOS的时候系统会卡在sendmail和sm-client那里将近3分钟才继续,找了一下sendmail和sm-client的文档发现自己犯了一个错误. 我简单说一下原因,就是sendmail和sm-client都是MTA,只认网络主机名,如admin.slyar.com这样的,而我之前那篇文章直接把localhost.localdomain改成了Slyar,不符合…
当用docker -v挂载volume后,会出现Permission Denied的问题,这有时是因为SeLinux导致的.解决方法如下: chcon -Rt svirt_sandbox_file_t /path/to/volume…
最近因为项目需要调度作业服务,之前看张队推荐过一篇https://www.cnblogs.com/yudongdong/p/10942028.html 故直接拿过来实操,发现很好用,简单.方便  执行周期webapi任务,nice 发布到生产环境,顺便看看服务器资源情况,我艹,内存,每s涨1M,涨到500m,关闭host服务,惹不起,什么原因??? 1.本地调试.发布运行,内存正常 2.部署到本地测试服务器(win2016 core 2.2.7) 内存正常 3.发给我朋友的电脑测试  内存正常…
这篇文章主要介绍了解决Linux下php-fpm进程过多导致内存耗尽问题,需要的朋友可以参考下   最近,发现个人博客的Linux服务器,数据库服务经常挂掉,导致需要重启,才能正常访问,极其恶心,于是决心开始解决问题,解放我的时间和精力(我可不想经常出问题,然后人工重启,费力费时). 分析问题 发现问题以后,首先使用 free -m 指令查看当前服务器执行状况: 可以看到我的服务器内存是2G的,但是目前可用内存只剩下70M,内存使用率高达92%,很有可能是内存使用率过高导致数据库服务挂断. 继续…
近日,服务器出现异常,网站不能正常访问.经排查是php的问题. 在重启php-fpm时,恢复正常.1分钟之后又出现故障.查看php日志文件 /usr/local/php/var/log 后提示 WARNING: [pool www] server reached pm.max_children setting (5), consider raising it 子进程数已经达到设置的最大值. 要设置php进程数量.需要在php-fpm.conf文件中修改. 先看/usr/local/php/etc…
近日,服务器出现异常,网站不能正常访问.经排查是php的问题. 在重启php-fpm时,恢复正常.1分钟之后又出现故障.查看php日志文件 /usr/local/php/var/log 后提示 WARNING: [pool www] server reached pm.max_children setting (5), consider raising it 子进程数已经达到设置的最大值. 要设置php进程数量.需要在php-fpm.conf文件中修改. 先看/usr/local/php/etc…
原文地址:https://www.douban.com/note/315222037/ 背景最近将Wordpress迁移至阿里云.由于自己的服务器是云服务器,硬盘和内存都比较小,所以内存经常不够使,通过Linux命令查看后,发现启动php-fpm进程数有20多个,占用了将近1G的内存,整个服务器才1.5G的内存,最后通过对php-fpm进程数优化解决了此问题,服务器多节省出600M的内存,将php-fpm的优化方法和大家分享下.备注:目前根据nginx.fpm-php进行了内存优化,详情见相关资…
一,php-fpm的启动参数 1 2 3 4 5 6 7 8 9 10 11 12 13 #测试php-fpm配置 /usr/local/php/sbin/php-fpm -t /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t   #启动php-fpm /usr/local/php/sbin/php-fpm /usr/local/php/sbin/php-…
LoadRunner中的进程与线程    1.进程与线程的区别: 进程和线程的区别是什么?进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高. 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率. 线程在执行过程中与进程还是有区别的.每个独立的线程有一个程序运行的入口.顺序执行序列和…
大家知道Linux中创建子进程的一个很好的方法是函数调用fork,但是很多初学者对fork的理解上可能有点困难.我们举个例子来看看fork的用法吧.         大家用fork的时候记住fork是“分叉”的意思就很好理解了.         记得初学fork() 函数及遇到这个函数时,总是不能理解fork为什么会这样写,就会分成父子两个进程.    先看一下fork() 的经典模式 //-----------------------------------------------------…
一.什么是defunct进程(僵尸进程)?在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状态时,看到这些进程的状态栏为defunct.僵尸进程是一个早已死亡的进程,但在进程表(processs table)中仍占了一个位置(slot).但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程.因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看看有没有哪个进程是刚刚结…
一.什么是defunct进程(僵尸进程)? 在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状态时,看到这些进程的状态栏为defunct.僵尸进程是一个早已死亡的进程,但在进程表(processs table)中仍占了一个位置(slot). 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程.因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看看有没有哪个进程是刚…
一般情况下,PHP-CGI只在用户访问的时候会占用CPU资源,但是最近有同事反映,服务器上的的PHP-CGI进程占用了非常多的CPU,但是访问流量却非常少.这显然是一个不正常的现象,说有些地方存在故障.以下导致此问题可能存在的原因,在此与大家分享.1. 兼容性问题如果php的扩展与php版本兼容存在问题,已经有反映过类似的案例, eAccelerater与某些php版本兼容存在问题,具体表现时启动php-cgi进程后,运行10多分钟,奇慢无比,但静态资源访问很快,服务器负载也很正常(这说明服务器…
事故现象:机房一台服务器运行一段时间后,突然发现系统资源即将被耗尽! 1)top命令查看一下系统的cpu ram swap的使用情况 由上图分析,可以看出1--共有602个进程,但其中有601个进程休眠了.这就有点不对劲,这台服务器的内核进程也就80个左右,加上memcached, nginx, mysqld,也不会超出90个,除了这些,剩下的只有php-fpm管理的php-cgi了.2--CPU显示,CPU压力并不大,可以说没有压力.3--内存使用概要,发现4G的内存,消耗得所剩余无几(fre…
一.缘由: 在启动mongodb的时候,有Warning提示soft rlimits too low,就是用户使用进程数过小,遂调高系统资源关于用户最大进程数的限制ulimit -u. 先暂时使设置生效,ulimit -u 102400,提示: ulimit: max user processes: cannot modify limit: Operation not permitted. 修改/etc/security/limits.conf 为 * soft nproc 102400,退出s…
502 和 php-fpm.conf 1.php-cgi进程数不够用.php执行时间长,导致没有空闲进程处理新请求. 2.php-cgi进程死掉.php-fpm超时时间短,当前进程执行超时关闭连接. 实例: 1.request_terminate_timeout引起的资源问题 request_terminate_timeout默认值为 0 秒,也就是说,PHP 脚本会一直执行下去. php.ini 里面max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,reques…
在部署有并发任务执行的虚机上, 会遇到 SSH 无法访问的问题. 本文将帮助你找出其中一种比较特殊的原因, 并提供解决方案. Note 以下案例分析基于 CentOS 7, 对于其他版本的 Linux 操作系统, 会略有不同, 请注意. 症状描述 虚机在正常运行过程中,突然发现 SSH 连接失败.重启虚机以后,SSH 连接恢复正常.再运行一段时间之后,又发生同样的问题. 问题分析 经过日志分析,azure 平台和虚机运行均无异常.但是从 /var/log/secure.log 里发现如下信息 “…
FROM: http://www.2cto.com/os/201303/192380.html CentOS修改用户最大进程数   一般在/etc/security/limits.conf 中修改最大打开文件数和进程数,如: * soft noproc 102400 * hard noproc 102400 * soft nofile 102400 * hard nofile 102400   www.2cto.com   但是在centos 6.3下,方法不一样了 首先在/etc/securi…
vsftp在REDHAT,CENTOS 5中登录慢的解决办法 vsftp在REDHAT,CENTOS 5中不仅登录慢,至少花30秒左右,而且上传文件的速度也受影响, 经过摸索,根本原因在DNS解析上花费很长时间,直到DNS超时才返回,这样一来只要把 resolv.conf中的内容清空就能解决这个问题,但影响到DNS的解析. 另外一个办法是在vsftpd.conf文件中加入:reverse_lookup_enable=NO 保存后重新启动vsftpd 就OK,service vsftpd rest…
在我学习使用Windows的IDEA的过程中,将代码文件转移到Linux虚拟机当中,但无法在Linux系统中统计代码行数. 注意:拷贝进虚拟机的文件均能编译运行. 具体过程如下: root@yogile-VirtualBox:/alive/string# ls bin/ docs/ statistics.sh string/ work/ ##/shared/为虚拟机与宿主机的共享文件夹 root@yogile-VirtualBox:/alive/string# cp -r /shared/ide…
问题描写叙述: SQL进行IN查询时出现:java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000 解决的方法: 问题原因是:SQL进行IN查询时.IN中的数据量不能超过1000条. 比如:select * from student where id in ('S1','S2'...........) 假设in后面数据量过多的话就会报错. 解决方法是:用 orkeyword 如:select * from student where id in('S1…
如何在Linux中统计一个进程的线程数 原文:http://os.51cto.com/art/201509/491728.htm 我正在运行一个程序,它在运行时会派生出多个线程.我想知道程序在运行时会有多少线程.在Linux中检查进程的线程数最简单的方法是什么?如果你想看到Linux中每个进程的线程数,有以下两种方法实现. 问题:我正在运行一个程序,它在运行时会派生出多个线程.我想知道程序在运行时会有多少线程.在 Linux 中检查进程的线程数最简单的方法是什么? 如果你想看到 Linux 中每…
前言 Linux系统中可以设置关于资源的使用限制,比如:进程数量,文件句柄数,连接数等等. 在日常的工作中应该遇到过: -bash: fork: retry: Resource temporarily unavailable 或者 too many open files 这些类似的操作错误,前者是由于当前用户的进程数超出限制,后者由于当前用户的文件打开数超出限制. 下面就简单的介绍下配置用户进程数和文件打开数. 一.ulimit命令 Provides control over the resou…
PHP-FPM 先来了解一些名词概念: CGI是Common Gateway Interface(通用网管协议),用于让交互程序和Web服务器通信的协议.它负责处理URL的请求,启动一个进程,将客户端发送的数据作为输入,由Web服务器收集程序的输出并加上合适的头部,再发送回客户端. FastCGI是基于CGI的增强版本的协议,不同于创建新的进程来服务请求,使用持续的进程和创建的子进程来处理一连串的进程,这些进程由FastCGI服务器管理,开销更小,效率更高. PHP-FPM是PHP实现的Fast…
(最终采用的是方法4) 问题详情见:.NET Core中遇到奇怪的线程死锁问题:内存与线程数不停地增长 看看在 Linux 与 Windows 上发生线程死锁的后果. Linux: Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -24 EMFILE too many open files Windows(1.3万个线程): 引发问题的代码: Task<IPAddress[]> task =…