Можно ли установить патч, не перегружая процессор? [дубликат]

На этот вопрос уже есть ответ здесь:

Я использую автоматические обновления для исправления около 300 машин Ubuntu (16.04 LTS) (на самом деле сетевых устройств) , некоторые из них представляют собой виртуальные машины с 1 ЦП, работающие на ESXi, azure и AWS, а другие - четырехъядерные устройства Atom IOT без операционной системы.Я не испытывал этих проблем на машинах с голым железом, но на виртуальных машинах, которые имеют достаточно энергии, чтобы делать то, что им нужно, когда машины исправляют сами себя, наш мониторинг SNMP сходит с ума, и мы получаем высокие скачки ЦП, своп предупреждения памяти и т. д.

Вместо того, чтобы работать с способами подавления этих предупреждений (о чем я не спрашиваю), есть ли какие-нибудь способы разрешить исправление renice и просто дать ему время на исправление? Я бы не стал возражать, если бы исправление заняло 4 часа, то есть без присмотра (я бы не хотел, чтобы исправление шло так медленно, если бы я запускал его напрямую с помощью ansible или apt).

4
задан 7 August 2019 в 15:42

1 ответ

Я думаю, что этот ответ содержит все, что Вы ищете:

Хорошо, я управлял мной, чтобы сделать то же, которое Вы сделали, но с некоторыми изменениями:

1) Я установил те же утилиты:

sudo apt-get install cgroup-bin cgroup-lite cgroup-tools cgroupfs-mount libcgroup1

2) Я отредактировал conf файлы как это:

sudo -H gedit /etc/init/cgroup-lite.conf

description "mount available cgroup filesystems"
author "Serge Hallyn <serge.hallyn@canonical.com>"

start on mounted MOUNTPOINT=/sys/fs/cgroup

pre-start script
test -x /bin/cgroups-mount || { stop; exit 0; }
test -d /sys/fs/cgroup || { stop; exit 0; }
/bin/cgroups-mount
cgconfigparser -l /etc/cgconfig.conf
end script

post-stop script
if [ -x /bin/cgroups-umount ]
then
    /bin/cgroups-umount
fi
end script

sudo -H gedit /etc/cgconfig.conf

# Since systemd is working well, this section may not be necessary.
# Uncomment if you need it
#
# mount {
# cpuacct = /cgroup/cpuacct;
# memory = /cgroup/memory;
# devices = /cgroup/devices;
# freezer = /cgroup/freezer;
# net_cls = /cgroup/net_cls;
# blkio = /cgroup/blkio;
# cpuset = /cgroup/cpuset;
# cpu = /cgroup/cpu;
# }

group limitcpu{
  cpu {
    cpu.shares = 400;
  }
}

group limitmem{
  memory {
    memory.limit_in_bytes = 512m;
  }
}

group limitio{
  blkio {
    blkio.throttle.read_bps_device = "252:0         2097152";
  }
}

group browsers {
    cpu {
#       Set the relative share of CPU resources equal to 25%
    cpu.shares = "256";
}
memory {
#       Allocate at most 512M of memory to tasks
        memory.limit_in_bytes = "512m";
#       Apply a soft limit of 512 MB to tasks
        memory.soft_limit_in_bytes = "384m";
    }
}

group media-players {
    cpu {
#       Set the relative share of CPU resources equal to 25%
        cpu.shares = "256";
    }
    memory {
#       Allocate at most 256M of memory to tasks
        memory.limit_in_bytes = "256m";
#       Apply a soft limit of 196 MB to tasks
        memory.soft_limit_in_bytes = "128m";
    }
}

cgconfigparser -l /etc/cgconfig.conf

sudo -H gedit /etc/cgrules.conf

user:process                                         subsystems   group
[user]:/usr/lib/chromium-browser/chromium-browser   cpu,memory      browsers
[user]:/usr/bin/clementine                        cpu,memory     media-players

Примечание: Этот раздел должен быть обновлен с /usr/bin/apt

Это - пример, используйте свое имя пользователя вместо [пользователя]. Можно добавить приложения, которые необходимо ограничить и определить, хотите ли Вы, чтобы они были ЦП - память - или оба ограниченные.

Я отредактировал GRUB_CMDLINE_LINUX_DEFAULT строка в /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory swapaccount=1"

Обновление его:

sudo update-grub

3) И наконец перезагрузка для применения изменений.

И именно так у меня есть эта работа. Перед этим у меня был частый OOMs с многозадачностью - с браузером хрома, клементином, сублимированным текстом и другими приложениями с помощью большого количества ресурсов - теперь они работают гладко, и я могу работать в многозадачном режиме лучше.


Дополнительный cgroups ресурсы:

3
ответ дан 1 December 2019 в 09:59

Другие вопросы по тегам:

Похожие вопросы: