Должен ли я изменить ядро внутри докера или на моем хосте, чтобы исправить "предупреждение netdata"?
Я устанавливаю netdata в Docker-контейнере, и он говорит мне:
"Инструкции по дедупликации памяти. У вас есть доступ к памяти ядра, но в настоящее время она не включена. Чтобы включить ее:"
echo 1 >/sys/kernel/mm/ksm/run && echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs
В нем также говорится: "Если вы включите его, вы сэкономите 40-60% памяти netdata".
Должен ли я выполнить эту команду на моем хосте или внутри контейнера докера?
редактировать
Я запускаю свой докер-контейнер, используя:
net: host
privileged: true
pid: host
1 ответ
Решение
Команда должна быть запущена внутри контейнера.
Программа netdata работает внутри контейнера Docker и не имеет доступа к файловой системе хоста. Так что запуск команды на хосте будет бесполезен, так как изменения в файлах /sys/kernel/mm/ksm/run
а также /sys/kernel/mm/ksm/sleep_millisecs
не будут видны программам, работающим внутри контейнера.