какая неправильная конфигурация вызывает перезагрузку системы, когда tmpfs достигает своих пределов?
Во встроенной системе есть 2 монтирования tmpfs. 1 ГБ подключен к /tmp и еще 1 ГБ подключен к /run, общий объем оперативной памяти составляет 8 ГБ. Обмен не используется.
Если один из них достигает своих пределов, система перезагружается.
т.е. обе следующие проверки вызывают сброс.
cat /dev/urandom > /tmp/foo
илиcat /dev/urandom > /run/foo
Я ожидал, что OOM-Killer и/или cgroups сработают и избегут таких проблем.
Что должно было быть неправильно настроено на стороне ядра и на стороне systemd?
Изменить: другой тест показывает, что OOM-killer пытается выполнить свою работу.
~ # dd if=/dev/urandom of=/tmp/somefile bs=1M count=950 ; rm /tmp/somefile
Killed
~ # free
total used free shared buff/cache available
Mem: 11789532 2487424 8363864 29148 1208604 9961408
Swap: 0 0 0
--> reset kicks in here.