Tejun Heo wrote on 2021/7/28 12:32 上午: > Hello, > > On Tue, Jul 27, 2021 at 11:18:00AM +0800, brookxu wrote: >> According to files_maxfiles_init(), we only allow about 10% of free memory to >> create filps, and each filp occupies about 1K of cache. In this way, on a 16G >> memory machine, the maximum usable filp is about 1,604,644. In general >> scenarios, this may not be a big problem, but if the task is abnormal, it will >> very likely become a bottleneck and affect other modules. > > Yeah but that can be configured trivially through sysfs. The reason why the > default limit is lowered is because we wanna prevent a part of system to > consume all the memory through fds. With cgroups, we already have that > protection and at least some systems already configure file-max to maximum, > so I don't see a point in adding another interface to subdivide the > artificial limit. > Yeah we can adjust file-max through sysctl, but in many cases we adjust it according to the actual load of the machine, not for abnormal tasks. Another problem is that in practical applications, kmem_limit will cause some minor problems. In many cases, kmem_limit is disabled. Limit_in_bytes mainly counts user pages and pagecache, which may cause files_cache to be out of control. In this case, if file-max is set to MAX, we may have a risk in the abnormal scene, which prevents us from recovering from the abnormal scene. Maybe I missed something. > Thanks. >