From: 严海双 <yanhaishu...@cmss.chinamobile.com> Date: Sat, 9 Sep 2017 13:09:57 +0800
> > >> On 2017年9月9日, at 下午12:35, Cong Wang <xiyou.wangc...@gmail.com> wrote: >> >> On Fri, Sep 8, 2017 at 6:25 PM, 严海双 <yanhaishu...@cmss.chinamobile.com> >> wrote: >>> >>> >>>> On 2017年9月9日, at 上午6:13, Cong Wang <xiyou.wangc...@gmail.com> wrote: >>>> >>>> On Wed, Sep 6, 2017 at 8:10 PM, Haishuang Yan >>>> <yanhaishu...@cmss.chinamobile.com> wrote: >>>>> Different namespace application might require different maximal number >>>>> of TCP sockets independently of the host. >>>> >>>> So after your patch we could have N * net->ipv4.sysctl_tcp_max_orphans >>>> in a whole system, right? This just makes OOM easier to trigger. >>>> >>> >>> From my understanding, before the patch, we had N * >>> net->ipv4.sysctl_tcp_max_orphans, >>> and after the patch, we could have ns1.sysctl_tcp_max_orphans + >>> ns2.sysctl_tcp_max_orphans >>> + ns3.sysctl_tcp_max_orphans, is that right? Thanks for your reviewing. >> >> Nope, by N I mean the number of containers. Before your patch, the limit >> is global, after your patch it is per container. >> > > Yeah, for example, if there is N containers, before the patch, I mean the > limit is: > > N * net->ipv4.sysctl_tcp_max_orphans > > After the patch, the limit is: > > ns1. net->ipv4.sysctl_tcp_max_orphans + ns2. > net->ipv4.sysctl_tcp_max_orphans + … Not true. Please remove "N" from your equation of the current situation. "sysctl_tcp_max_orphans" applies to entire system, it is a global limit, comparing one limit against all orphans in the system, there is no N.