Рейтинг:1

Почему journald использует так много места для хранения так мало данных и как я могу уменьшить или сжать журналы журналов?

флаг cn

Я использую journald с записью только памяти, ограниченной 55 МБ. Но каким-то образом это соответствует регистрации менее чем за сутки.

Конфигурация:

$ grep -v '^#' /etc/systemd/journald.conf

[Журнал]
Хранение = энергозависимое
Время выполненияMaxUse=50M
Время выполненияKeepFree=75M
RuntimeMaxFileSize=5M
RuntimeMaxFiles=100
Форвардтосислог=да
MaxLevelSyslog=отладка

Использование диска:

$ journalctl --disk-usage
Архивные и активные журналы занимают в файловой системе 55,0 МБ.

Несжатый размер вывода journalctl составляет 3,1 МБ:

журналctl > журналы; журналы du -h
3,1 млн журналов

Сжатый размер 153K:

$ journalctl |gzip >logs.gz; du -h logs.gz
153K logs.gz

ОБНОВИТЬ: Даже при использовании journalctl -a -o verbose Выходные данные используют половину того, что потребляет journald:

$ journalctl -a -o подробный >foo; дф -ч фу
27М фу

И он сжимает до 50-й части того, что потребляет journald:

$ journalctl -a -o подробный |gzip >foo.z; du -h foo.z
1,7 млн. foo.z

ЗАВЕРШИТЬ ОБНОВЛЕНИЕ

Журналы исправны в соответствии с journalctl --verify:

$ журналctl --verify
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000e845-0005c8103bd20432.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000db61-0005c80f5363b862.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000ce71-0005c80e6a86dafe.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000c18f-0005c80d81a2f3f8.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000b4b6-0005c80c9979b637.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000a7ca-0005c80bb0d1ff50.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-0000000000009ade-0005c80ac8242caf.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-0000000000008e05-0005c809dfaf56fb.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-0000000000008118-0005c808f6e12c0d.journal
ПРОХОД: /run/log/journal/69357476ee55415c8407fc9f84dc235d/system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000742e-0005c80806b00481.journal


$ ls -alh /run/log/journal/69357476ee55415c8407fc9f84dc235d/
Всего 55M
drwxr-s---+ 2 root systemd-journal 260 27 июля 11:53 .
drwxr-sr-x 3 root systemd-journal 60 26 июля 15:42 ..
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 02:08 system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000742e-0005c80806b00481.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 03:13 system@93c2aae90b5b4ecaacf0d7339c8f33b2-0000000000008118-0005c808f6e12c0d.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 04:18 system@93c2aae90b5b4ecaacf0d7339c8f33b2-0000000000008e05-0005c809dfaf56fb.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 05:23 system@93c2aae90b5b4ecaacf0d7339c8f33b2-0000000000009ade-0005c80ac8242caf.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 06:28 system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000a7ca-0005c80bb0d1ff50.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 07:33 system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000b4b6-0005c80c9979b637.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 08:38 system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000c18f-0005c80d81a2f3f8.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 09:43 system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000ce71-0005c80e6a86dafe.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 10:48 system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000db61-0005c80f5363b862.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 11:53 system@93c2aae90b5b4ecaacf0d7339c8f33b2-000000000000e845-0005c8103bd20432.journal
-rw-r-----+ 1 root systemd-journal 5.0M 27 июля 12:18 system.journal

Так почему и как journald использует в 359 раз больше места для хранения того, что легко сжимается до 153 КБ?

Что занимает 99,8% места, и есть ли способ хранить больше данных за счет того, что составляет эти 99,8%?

muru avatar
флаг us
`journalctl >logs` ... вы проверяли, как далеко назад уходит вывод `journalctl` по умолчанию?
TobiV avatar
флаг cn
Да, как упоминалось в вопросе, но я не публиковал вывод, так что вот он: ``journalctl -n0``: ``-- Журналы начинаются во вторник 27-07-2021, 01:01:21 AEST, заканчиваются во вторник 27-07-2021, 12:40:31 AEST. --``
muru avatar
флаг us
Как насчет `journalctl -a -o verbose -n all`?
TobiV avatar
флаг cn
`-n all` не влияет на это
meuh avatar
флаг cn
Poettering описывает внутреннее устройство файла журнала [здесь] (https://systemd.io/JOURNAL_FILE_FORMAT/). `journalctl --header` в моих журналах обычно показывает * Заполнение хеш-таблицы данных: 75% *, поэтому они ротируются. Предположительно много места выделено заранее, так как даже пустые журналы занимают столько же места (и не разрежены).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.