diff --git a/etcdserver/metrics.go b/etcdserver/metrics.go index a77ebfdddd3..0c0ce912df4 100644 --- a/etcdserver/metrics.go +++ b/etcdserver/metrics.go @@ -184,7 +184,13 @@ func init() { } func monitorFileDescriptor(lg *zap.Logger, done <-chan struct{}) { - ticker := time.NewTicker(5 * time.Second) + + // This ticker will check File Descriptor Requirements ,and count all fds in used. + // And recorded some logs when in used >= limit/5*4. Just recorded message. + // If fds was more than 10K,It's low performance due to FDUsage() works. + // So need to increase it. + // See https://github.com/etcd-io/etcd/issues/11969 for more detail. + ticker := time.NewTicker(10 * time.Minute) defer ticker.Stop() for { used, err := runtime.FDUsage()