Я запускаю Ubuntu Server 20.04 полностью обновленный с Raspberry Pi 4, 4 ГБ оперативной памяти (может быть актуально или нет, но система работает с SSD через порт USB3.0) в качестве маломощного ПК, способного запускать некоторые образы Docker. Он работает под управлением xfce4, отображая Magic Mirror, и собирает некоторые данные через порты GPIO (что занимает всего несколько мА): источником питания является оригинальный адаптер питания 3A.
Проблема в том, что сегодня он потерял соединение ethernet, но сам rpi продолжал работать просто отлично... пока я не подключил клавиатуру, и тогда он просто запаниковал. В этот момент не удалось записать журнал, чтобы узнать, что там произошло.
Когда я проверил журнал, мое внимание привлекло следующее: https://pastebin.com/0VNDSUyL
В то время использование памяти составляло около 90%, согласно последним доступным данным (я запускаю Telegraf и записываю все в журнал Influxdb, запущенный [оба с Docker] на одной машине).
Процесс, который был убит, был Java, но я не знаю, какой образ Docker это был, потому что среда выполнения даже не установлена на хосте.
Я не знаю, где искать дальше в настоящее время, поэтому любая помощь здесь будет очень признательна! Если вам нужно больше деталей, просто спросите :)
EDIT1:
У меня нет включенного свопа на этой системе:
ubuntu@unifi:~ $ free -h
total used free shared buff/cache available
Mem: 3.7Gi 2.7Gi 190Mi 203Mi 826Mi 886Mi
Swap: 0B 0B 0B
ubuntu@unifi:~ $ grep -i swap /etc/fstab
ubuntu@unifi:~ $
Давайте создадим отсутствующий файл /swap...
Примечание: Неправильное использование команды dd
может привести к потере данных. Предложите скопировать/вставить.
sudo swapoff -a # turn off swap
sudo rm -i /swapfile # remove old /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile # set proper file protections
sudo mkswap /swapfile # init /swapfile
sudo swapon /swapfile # turn on swap
free -h # confirm 4G RAM and 4G swap
Подтвердите эту строку в /etc/fstab... и подтвердите отсутствие других строк "подкачки"...
/swapfile none swap sw 0 0
reboot # reboot and verify operation