php closewait,centos 上 php-fpm 占用太多状态为 CLOSED 的 socket 且不释放, 如何解决?
[temp@xigua ~]$ ss -s
Total: 83678 (kernel 0)
TCP: 84982 (estab 127, closed 84812, orphaned 0, synrecv 0, timewait 1485/0), ports 0
Transport Total IP IPv6
* 0 - -
RAW 0 0 0
UDP 4 3 1
TCP 170 168 2
INET 174 171 3
FRAG 0 0 0
这里可以看到 CLOSED 状态的socket 有8w+ (closed 84812), 同时查看某个 fpm :
[temp@xigua ~]$ ss -s $ lsof -p ${fpm-pid}|grep 'protocol: TCP'|wc -l
1043
fpm 进程一共有 8 0个, 所以几乎可以肯定全是 fpm 导致的上述占用过多 CLOSED socket, 主要是我不理解为啥 fpm
不释放这些 socket, CLOSED 状态下的 socket 不是应该转瞬就被系统回收了吗?
这些状态为 CLOSED 的 socket 仍然占用较多内存, 当超过 tcp 上限(cat /proc/sys/net/ipv4/tcp_mem)的时候会报错 : out of memory -- consider tuning tcp_mem
请问我需要怎么进一步解决呢?
P.S. 2019年2月26日17:53:34 进一步的信息补充 :
$ ls -l /proc/${pfm}/fd|wc -l
1059
检查 sockstat :
cat /proc/net/sockstat
sockets: used 84442
TCP: inuse 168 orphan 0 tw 3052 alloc 84262 mem 84093
UDP: inuse 3 mem 1
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0
$ netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
1 established)
1 Foreign
8 LISTEN
28 CLOSE_WAIT
138 ESTABLISHED
782 TIME_WAIT
fpm 的配置 :
pm.max_children = 80
pm.max_requests = 100000
某次重启前
$ cat /proc/net/sockstat
sockets: used 29901
TCP: inuse 168 orphan 0 tw 3618 alloc 29720 mem 29563
UDP: inuse 3 mem 1
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0
$ free -m
total used free shared buff/cache available
Mem: 7821 824 250 418 6746 6064
Swap: 511 98 413
重启后
$ cat /proc/net/sockstat
sockets: used 387
TCP: inuse 167 orphan 0 tw 3504 alloc 207 mem 42
UDP: inuse 3 mem 1
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0
$ lsof -p ${fpm-pid}|less
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 17699 temp 71u sock 0,7 0t0 552415632 protocol: TCP
php-fpm 17699 temp 72u sock 0,7 0t0 552428529 protocol: TCP
php-fpm 17699 temp 73u sock 0,7 0t0 552450479 protocol: TCP
php-fpm 17699 temp 74u sock 0,7 0t0 552462900 protocol: TCP
php-fpm 17699 temp 75u sock 0,7 0t0 552523600 protocol: TCP
php-fpm 17699 temp 76u sock 0,7 0t0 552542925 protocol: TCP
php-fpm 17699 temp 77u sock 0,7 0t0 552613133 protocol: TCP
php-fpm 17699 temp 78u sock 0,7 0t0 552639299 protocol: TCP
php-fpm 17699 temp 79u sock 0,7 0t0 552646395 protocol: TCP
php-fpm 17699 temp 80u sock 0,7 0t0 552659030 protocol: TCP
发现大量的 "protocol: TCP" 字样, 请教大家这是什么意思?为何不展示出 tcp 连接的双端ip, 端口信息而是省略成了"TCP"字样?
php closewait,centos 上 php-fpm 占用太多状态为 CLOSED 的 socket 且不释放, 如何解决?相关推荐
- linux socket关闭并释放资源,【linux】centos 上 php-fpm 占用太多状态为 CLOSED 的 socket 且不释放, 如何解决?...
[[email protected] ~]$ ss -s Total: 83678 (kernel 0) TCP: 84982 (estab 127, closed 84812, orphaned 0 ...
- 怎么减少计算机内存占有,还在为电脑内存占用太高而烦恼吗?教你一招轻松解决...
查毒了也不管用.结果是电脑的物理内存占用太高了,下面就教大家怎么减少物理内存,希望对您有所帮助! 1.启动"windows任务管理器",快捷键"alt+ctrl+dele ...
- CentOS上安装运行XWiKi
现在XWiKi已经一行命令支持安装java -jar xwiki-enterprise-installer-generic-9.4-standard.jar. war安装我搞了三天都没有搞定,参考了& ...
- CentOS上PHP源码安装和配置
CentOS上PHP源码安装和配置 此文是在CentOS 7上已经部署了Nginx的基础上进行的 关于CentOS7上安装Nginx,可参考我之前的文章: CentOS上Nginx安装记录 我们现在在 ...
- 在centos上安装最新的glibc
centos上的glibc的远古版本: root@:~/clickhouse/ClickHouse/build# ldd --version ldd (GNU libc) 2.17 Copyright ...
- 设置/修改centos上的swap交换分区的方法
设置centos上的swap交换分区的方法 作为linux世界里最稳定的服务器版本,rhas5一直有很大的应用面,之前一直关注的是freebsd,因为应用的需要,特别在配合mysql和oracle上r ...
- Centos上安装EPEL
RHEL以及他的衍生发行版如CentOS.Scientific Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安 ...
- centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程
在CentOS上编译安装llvm-3.8.1详细教程 2020/1/11 18:12 1682次 注:CentOS版本是6.8,6.x版本的操作类似 安装需求: [list] [*]Cmake: 3 ...
- 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置
简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...
最新文章
- 庖丁解牛迭代器,聊聊那些藏在幕后的秘密
- 网红送餐无人车被指用人冒充AI始末:没有人工,就没有智能
- Python 如何优雅的将数字转化为时间格式
- 机器人动力学(Basic Newton-Euler Mechanics)
- VS中的调试相关的技巧
- 电脑技巧:键盘失灵怎么办?
- js页面自适应屏幕大小_移动端自适应布局方法的calc()与vw
- 【问题收集·知识储备】Xcode只能选择My Mac,不能选择模拟器如何解决?
- 超极本认知六大误区详解:不只是轻薄+长续航
- android -------- 解决NDK开发中的 Method 'NewStringUTF' could not be resolved
- 用R进行文本挖掘与分析:分词、画词云
- dns提供商主机名_DNS域名解析的过程
- 【十次方基础教程(后台)】Dockerfile脚本完成镜像的构建
- MyEclipse插件不能安装原因
- html滚动轮播图片代码,html 无缝轮播图完整代码
- en开头的单词_【2016年大学英语四级考试词汇常见前后缀:en-】- 环球网校
- 安卓利用Xposed实现通话双向录音
- Google浏览器简体中文版下载
- java获得当月法定工作日_java获取当月的工作日
- DHCPV4 VS DHCPV6