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"字样?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7上,可以通过以下步骤下载安装php-fpm: 1. 打开终端,使用root权限登录到服务器。 2. 运行以下命令来安装epel源,这是安装php-fpm所需的依赖库: ``` yum install epel-release ``` 3. 使用以下命令安装php-fpm: ``` yum install php-fpm ``` 4. 安装完成后,可以使用以下命令检查php-fpm是否成功安装: ``` php-fpm -v ``` 如果显示了php-fpm的版本信息,则表示安装成功。 引用中提到的引用内容指的是php-fpm的主进程文件路径。引用中提到了编译安装php7以php-fpm方式连接apache的相关知识,这些内容可以作为参考资料来了解更多关于php-fpm的安装和配置信息。引用中提到了php71-php-fpm.service这个服务,它是用来管理php-fpm进程的。 注意:在安装php-fpm之前,建议先确保已经安装了Apache或Nginx等web服务器,并进行相关的配置。另外,根据个人需求,还可以根据需要安装其他php扩展模块。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [CentOS7设置php-fpm开机自启动](https://blog.csdn.net/weixin_31236309/article/details/115152543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [centos7上编译安装php7以php-fpm方式连接apache](https://download.csdn.net/download/weixin_38631389/12949958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [CENTOS 7上PHP-FPM无法启动的问题处理](https://blog.csdn.net/weixin_39655085/article/details/115101506)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值