Быстро кончается память

За две недели почти вся свободная память заканчиватся


diag_output_AEF4X2VX_2025-09-17-09.24.48.zip (238,6 КБ)

Добрый день!
Очень вероятно, это те сервисы, которые вы запускаете в докере.
Что выдают команды


sudo du -xhd1 /mnt/data | sort -h
sudo du -xhd1 /mnt/data/.docker | sort -h || true
sudo du -xhd1 /mnt/data/.docker/overlay2 | sort -h | tail -n 30 || true

12K /mnt/data/uploads
16K /mnt/data/.wb-update
3.1M /mnt/data/etc
213M /mnt/data/.wb-restore
373M /mnt/data/var
496M /mnt/data/root
588M /mnt/data/.docker-compose
2.7G /mnt/data/.docker
4.3G /mnt/data
root@wirenboard-A7PCPNM5:~# sudo du -xhd1 /mnt/data/.docker | sort -h || true
4.0K /mnt/data/.docker/runtimes
4.0K /mnt/data/.docker/swarm
8.0K /mnt/data/.docker/tmp
8.0K /mnt/data/.docker/tmp-old
16K /mnt/data/.docker/plugins
28K /mnt/data/.docker/volumes
52K /mnt/data/.docker/network
116K /mnt/data/.docker/buildkit
13M /mnt/data/.docker/image
72M /mnt/data/.docker/containers
2.6G /mnt/data/.docker/overlay2
2.7G /mnt/data/.docker
root@wirenboard-A7PCPNM5:~# sudo du -xhd1 /mnt/data/.docker/overlay2 | sort -h | tail -n 30 || true
44K /mnt/data/.docker/overlay2/d187dbc7765a83e57efb1a9478598817899a5b1ad14f1f67f83d109227ca7f28
48K /mnt/data/.docker/overlay2/46c984ef6fce1b8fe484de297da51802053ca290870c9e8a4e5bdfede53a4f9b
48K /mnt/data/.docker/overlay2/b79af33f5e957ec0f4d0f86ef8ac90ad45590be59930d04a9dee0ebc33a69615
52K /mnt/data/.docker/overlay2/6d40909cddbaafb5ac72211fea19d2f7a277fe4fc64b738a671ead5ad24cc039
68K /mnt/data/.docker/overlay2/f1b6ec96f8e2366a9e6ac156397ead01a2aa4940313b515ea720aa627b7a198c
96K /mnt/data/.docker/overlay2/37844128e8cb222eddd31bdf664f626b461493546bb6a20998a522712700fe40
220K /mnt/data/.docker/overlay2/l
1.5M /mnt/data/.docker/overlay2/66711dbc60908afbdcbc29a64d9bb910f5ff2365eab9824dcb8c30df85b0bd4b
1.9M /mnt/data/.docker/overlay2/cf7c67c11c196929baecf8dad6149c2a6c763fcc932aa607d767ea1b0e8b60a5
2.2M /mnt/data/.docker/overlay2/d08a8f43dfb38e605f599ec055aceb069eb9a75b3f991f444b19ede45cfe7945
5.0M /mnt/data/.docker/overlay2/eb1597561c69a178462f1e2dec94e6c71c7f0604c5bdbe5aa6325a921e4292a7
5.3M /mnt/data/.docker/overlay2/0e1a81cd901ab9395a77d8c119bed04200d45092c0883eea1d2e44be7012702d
5.6M /mnt/data/.docker/overlay2/c8b45d1c54b196240d5a9b1150dde10a49786bcf43a22762cd770a71e0aa132e
8.1M /mnt/data/.docker/overlay2/7ec54bb07b58df4734b02618338c774e1b1c06a405cea810f5e017be0c586299
12M /mnt/data/.docker/overlay2/0b54722f8ecd1ff498ffde5b880491502268bdbf86e361642c5060ef228f0886
13M /mnt/data/.docker/overlay2/d1cfae1d9a3e2906a78270ec079c1d8fd8a843f3cfbc7c3584ad1721df684ffe
18M /mnt/data/.docker/overlay2/c87f2fe089fbfacea09795e16e0a4b17b72479c94b5a09c7a90385b55b3d4fe7
34M /mnt/data/.docker/overlay2/1078d3e6e1c6a65ee0a26078f86ea06528f893e967a0f105cc6ed3be595f99a9
34M /mnt/data/.docker/overlay2/54aefe7c6f0fd7751f9037a9195891a042457cd0ef93b72380558b12fdb11743
67M /mnt/data/.docker/overlay2/aa44a73f73619f764e622d0a12b69f70291f610624138fbb76991092b7872644
69M /mnt/data/.docker/overlay2/0da99742ff0971cc7921dc258f399ca1a930ab65a22eb59f1f30ac6178b61788
83M /mnt/data/.docker/overlay2/bfba082144536adb5b8c8907f9f07b81ff5ea8bd29ba237393056b82ecfc8354
85M /mnt/data/.docker/overlay2/8e378a3c85552edddc2dbbe024b8d06015127deb3584772fee7d66001309d305
97M /mnt/data/.docker/overlay2/b304d7ecd047c435c23c5423ad0d1f15280a1830ac55bff2c514267290f189a2
97M /mnt/data/.docker/overlay2/c1b967e769502a802c281ffe274c5b4092e5a646b62e1999fae2fc27e9c86bb8
111M /mnt/data/.docker/overlay2/48b8d696a56f8ca354c681b3920ad3c63d4307ba7247a120f5be54d89dd89d62
267M /mnt/data/.docker/overlay2/b604fe7f0f85ea37dac9467577abfedd3d37b67d2267e047a6dca0d0aacb9d39
292M /mnt/data/.docker/overlay2/deabb8b3b7edf5661d3bfe91ca59568665cd0006b11683e7f22bb00f23aa0aa4
1.3G /mnt/data/.docker/overlay2/8436b296902f668afbc82e7dbc1fde7d77e973101014226b81e6bf297cbf8335
2.6G /mnt/data/.docker/overlay2

если все логи из журнала удалить, то появится около 600м места

Сейчас жокер-слои съедают у вас 2.6 Гб, а какой объем дискового пространства был под них изначальнно запланирован?

Я не вижу тут ошибок: работает докеризированное ПО, занимает много места, генерирует много логов.

В доере можно почистить мусор через docker system prune -af, docker volume prune -f, docker builder prune -af.

За логами можно следить journalctl --disk-usage, что-то удалять sudo journalctl --vacuum-size=100M

Но, конечно, вам надо разобраться, какой из ваших контейнеров занимает столько места, генерирует (возможно) столько логов, и настроить его соответствующе. Возможно, настроить в докере ротацию логов.

ротация логов в docker настроена

Это хорошо. Тогда вам надо понять, что за контейнер так себя ведет. 600 Ьб системных логов тоже, конечно, много. Включена отладка на каком-то из сервисов?

не понял, в контейнерах или где, если в контейнерах, то я проверил что они все пишут до 3-х файлов не более 10мб

Я имел в виду системные логи, который в /var/log.

А вот это какого контейнера оверлей:
1.3G /mnt/data/.docker/overlay2/8436b296902f668afbc82e7dbc1fde7d77e973101014226b81e6bf297cbf8335

Он не сильно растет со временем у вас?

Добрый день! Удалось ли определить источник проблем?

нет, не удалось пока!

А свободное место после очистки продожает “подъедаться”?

Добрый день! Жду информацию от вас!

Добрый день! Завершили тему, т.к. долго нет ответа. Для продолжения обсуждения, можете начать новую тему и сослаться на эту.

да все равно подъедается, хватает недели на 2

Давайте посмотрим, что еще можно сделать. Сейчас, после того, как вы настроили ротацию логов, системный журнал уже не приходится чистить?
Я думаю что какой-то из ваших docker-контейнеров постоянно пишет большие объемы данных в корень контейнера в overlay2 (логи какого-то приложения внутри контейнера, например). Постарайтесь идентифицировать, где это происходит, и вынести в отдельный том директорию, в которые эти логи пишутся.
Еще можно поробовать команды prune, но это освободит место однократно.
Полагаю, что если это не системные логи, то вам надо найти оверлей, который постоянно увеличивается в размерах, внутри контейнера понять, что именно растет, вынести такие каталоги в отдельные тома на диск.

Если делать с Docker prune, в разных формах то очищается 0байт

Доброго.
Прошу прощения, что вклиниваюсь.
Возможно поможет утилита ncdu (если не стоит apt install ncdu)
С интерфейсом более наглядно будет, где, что занято.
Если что, выход из утилиты клавиша q

Да, и правда, очень наглядная штука, не знал про такую, спасибо! Поддерживаю рекомендацию!

В общем, пока основной гипотезой остается запись больших логов в оверлеи какого-то из контейнеров.

Отследить контейнер, который потребляет все больше и больше дискового пространста, можно, сравнивая вывод команды
docker ps -s --format '{{.Names}}\t{{.Size}}'
за, например, каждый день.

с помощью ncdu сравнил оверлаи двух контроллеров они примерно одинаковые


посмотрел журнал и тут вот такая ошибка каждые 10 секунд выскакивает, скорее всего она и заполняет весь журнал?