# Too many Open files

# Too many open files debug in k8s

# ulimit -n

Output : 1048576

# kubelet limit

```bash
systemctl show kubelet | grep NOFILE

```

Output :

```
LimitNOFILE=524288
LimitNOFILESoft=1024

```

# systemd global

```bash
systemctl show --property=DefaultLimitNOFILE

```

Output: DefaultLimitNOFILE=524288

# container runtime

```bash
systemctl show containerd | grep NOFILE

```

Output:

```
LimitNOFILE=infinity
LimitNOFILESoft=infinity

```

# Socket summary

ss -s

```
Total: 795
TCP:   2101 (estab 22, closed 2066, orphaned 0, timewait 20)

Transport Total     IP        IPv6
RAW       1         0         1        
UDP       8         5         3        
TCP       35        27        8        
INET      44        32        12       
FRAG      0         0         0        


```

# System-wide (all processes)

cat /proc/sys/fs/file-nr Output:

```
17784   0       2097152

```

# Kubelet FD usage

pidof kubelet ls /proc/$(pidof kubelet)/fd | wc -l

Output: 1953

# Edit Container runtime

sudo systemctl edit containerd

# Per-pod socket usage (ADVANCED)

```
crictl ps
crictl inspect <container_id> | grep pid

```

# Correct fix for kubelet (DO THIS)

```bash
sudo systemctl edit kubelet

```

```
  [Service]
 LimitNOFILE=524288

```

```
sudo systemctl daemon-reload
sudo systemctl restart kubelet

```