Всем привет! Столкнулся с проблемой внезапного появления OOM-Kill без видимых на то причин. Вводные данные:
- Железка RaspberryPi4 8GB RAM
- Внешний HDD usb3 в боксе с отдельным питанием (ФС ext4)
- ОС - Raspbian (32bit)
В чем проявляется проблема: При активной записи на внешний жесткий диск (например, загрузка чего-то через transmission, cp на внешний диск больших файлов) через неустановленный промежуток времени (обычно через 10-15 минут) вылезает процесс kswapd0, который сильно грузит ЦП (под 90%). После чего начинает работать OOM Killer и крушит-ломает все процессы вокруг. Все ничего, но при этом свободной оперативной памяти предостаточно (около 6ГБ), и даже swap (2ГБ) не задействован.
Выхлоп dmesg с момента загрузки системы до убиения исков - https://pastebin.com/KJrKdhKs
Что пробовал предпринять:
- отключал swap
- пробовал в sysctl.conf все вариации vm.overcommit_memory=(0/1/2) и разные vm.overcommit_ratio
- пробовал разные варианты vm.swappiness от 0 до 70
- обновлял через rpi-update (ядро сейчас 5.4.79-v7l+)
- в настройках transmission менял cache-size от 1 до 128мб (пытался снизить частоту записи)
Результат один - не помогает. Все так же вылезает kswapd0, грузит ЦП и потом вылезает ООМ и киляет все подряд. И при этом оперативной памяти навалом.
Буду благодарен, если посоветуете, в какую сторону копать..
UPD: Помог 64-битный режим. arm_64bit=1 в /boot/config.txt