On Linux, the server does not normally shut down on an event from messages.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <messages> <message> <deadline>360</deadline> <shutdown>1</shutdown> <text>#name will restart in #tmin minutes.</text> </message> </messages>
After the timeout expired at 6 hours, the server wrote an event in the log about the shutdown, but the process still remained running and utilized the CPU at approximately half of what it works in normal mode, this is 1 thread in 100%
systemctl status dayz-server@1 ● dayz-server@1.service - DayZ Dedicated Server '1' Loaded: loaded (/etc/systemd/system/dayz-server@.service; disabled; preset: enabled) Active: active (running) since Thu 2024-03-07 00:34:17 MSK; 17h ago Main PID: 20388 (enfMain) Tasks: 23 (limit: 77049) Memory: 3.0G CPU: 17h 34min 20.373s CGroup: /system.slice/system-dayz\x2dserver.slice/dayz-server@1.service └─20388 /opt/dayz/server/DayZServer -doLogs -adminLog -netLog -freezeCheck -limitFPS=120 -cpuCount=3 -config=server-01.cfg -port=23012 -> мар 07 06:52:40 hs01 DayZServer[20388]: 6:52:40 [Server] :: termination in: 5 мар 07 06:52:41 hs01 DayZServer[20388]: 6:52:41 [Server] :: termination in: 4 мар 07 06:52:41 hs01 DayZServer[20388]: 6:52:41 [Server] :: termination in: 4 мар 07 06:52:42 hs01 DayZServer[20388]: 6:52:42 [Server] :: termination in: 3 мар 07 06:52:42 hs01 DayZServer[20388]: 6:52:42 [Server] :: termination in: 3 мар 07 06:52:43 hs01 DayZServer[20388]: 6:52:43 [Server] :: termination in: 2 мар 07 06:52:43 hs01 DayZServer[20388]: 6:52:43 [Server] :: termination in: 2 мар 07 06:52:44 hs01 DayZServer[20388]: 6:52:44 [Server] :: termination in: 1 мар 07 06:52:44 hs01 DayZServer[20388]: 6:52:44 [Server] :: termination in: 1 мар 07 06:52:45 hs01 DayZServer[20388]: double free or corruption (out)
The server remained in this state for another 11 hours.
To somehow understand what the problem was, I ran strace -p $PID and saw this:
strace: Process 20388 attached futex(0x7f31b5512c60, FUTEX_WAIT_PRIVATE, 2, NULL
After sending the SIGHUP signal (/bin/kill -s HUP $PID), the server still stopped working.
This happens by chance, I have 5 servers running in parallel, at first this problem happened with the third one a day ago, today with the first one
Guys, apparently this is your problem, but in the meantime I’ll probably set up a server restart via systemd.timer