定期 OOM: Technitium DNS 服务器 dotnet 进程增长到 ~5.1 GB RSS,并被 Linux 杀死
Hello, I am experiencing a recurring out-of-memory (OOM) problem with Technitium DNS Server. Environment: - Technitium DNS Server: 15.4 - The same problem also occurred previously on version 14.6 - Linux VM - Two DNS servers with the same/similar configuration - No swap configured The problem is periodic. The Technitium dotnet process starts normally with approximately 500-600 MB RSS, but after some time its resident memory usage increases significantly. Eventually, the Linux kernel runs out of available memory and kills the Technitium dotnet process. I do not see a significant increase in DNS query traffic before the OOM events. The same behavior has occurred on both DNS servers. For example, on DNS1, the latest OOM event occurred at 21:51:27: .NET Sockets invoked oom-killer oom-kill: constraint=CONSTRAINT_NONE, nodemask=(null), cpuset=/, mems_allowed=0, global_oom, task_memcg=/system.slice/dns.service, task=dotnet, pid=7794, uid=0 Out of memory: Killed process 7794 (dotnet) total-vm:18186076kB, anon-rss:5366016kB, file-rss:256kB, shmem-rss:33152kB, UID:0, pgtables:13480kB, oom_score_adj:0 At the time of the OOM: - dotnet total virtual memory: ~17.3 GiB - anonymous RSS: ~5.12 GiB - file RSS: almost zero - shared memory: ~32 MB The kernel reports this as a global OOM: global_oom constraint=CONSTRAINT_NONE The process was killed by the Linux kernel, and systemd automatically restarted the DNS service. The restart happened 10 seconds later: 21:51:27 - dotnet process killed 21:51:37 - systemd started the DNS service 21:51:44 - Technitium DNS Server started successfully After the restart, the new dotnet process was using only about 500 MB RSS. Current process information shortly after the restart: VmPeak: 18141068 kB VmSize: 18141036 kB VmRSS: 496652 kB VmData: 1555036 kB VmStk: 132 kB VmExe: 60 kB VmLib: 64824 kB VmPTE: 2000 kB Threads: 141 The corresponding ps output showed: RSS: ~550 MB VSZ: ~18 GB Therefore, the virtual memory size (VSZ/VmSize) is approximately 18 GB both shortly after startup and before the OOM. The significant change appears to be the resident memory (RSS), which grows from approximately 500-600 MB to more than 5 GB. I have observed almost the same memory usage at OOM on both DNS servers: DNS1: anon-rss: ~5.15 GB DNS2: anon-rss: ~5.14 GB DNS1 again: anon-rss: ~5.12 GB This is a recurring pattern rather than a single isolated event. I also want to clarify that this does not appear to be specific to Technitium DNS Server 15.4. I previously experienced the same behavior on version 14.6. I have also not observed a significant increase in DNS query volume before the OOM events. The server does not have swap configured. Could this be related to a memory leak or some other type of unbounded memory growth in Technitium DNS Server, for example
内容来源: TechnitiumSoftware/DnsServer