LINUX.ORG.RU
решено ФорумAdmin

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

 ,


0

1

Есть proxmox 5 на нем развернут контейнер в котором есть openstreetmap с обновлениями, в рабочие часы контейнеру даю только 4 ядра, в ночное время 16 перезапускать по крону процесс который обновляет как то не хочется, как определить если сменилось количество ядер то запустить скрипт.

★★
Ответ на: комментарий от anonymous

Не чего не падает в контейнере.

pvvking ★★
() автор топика
Ответ на: комментарий от Minona
/#lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                24
On-line CPU(s) list:   0-23
Thread(s) per core:    2
Core(s) per socket:    6
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 63
Stepping:              2
CPU MHz:               2399.864
BogoMIPS:              4799.72
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              15360K
NUMA node0 CPU(s):     0-5,12-17
NUMA node1 CPU(s):     6-11,18-23

Мне нужно отловить когда я добавил или убрал ядра контейнер, хотя у него сейчас всего 4 ядра

/#nproc
4

pvvking ★★
() автор топика
Последнее исправление: pvvking (всего исправлений: 1)

если это отображается где-то в proc (/proc/cpuinfo) то ты можешь просто раз в 10 минут проверять этот файл на предмет изменений, и если увидишь разницу - считать ядра и как-то на это реагировать.

я так понимаю, у тебя не сатанинский хайлоад, чтоб 10 минут слегка пожевать сопли с потерей 10% производительности.

ckotinko ☆☆☆
()
Последнее исправление: ckotinko (всего исправлений: 1)
Ответ на: комментарий от pvvking

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

хорошее решение может быть или простое или эффективное. элегантно - это в области моды уже.

ckotinko ☆☆☆
()

Зачем перезапускать контейнер если нужно всего-лишь изменить количество ядер (или это чисто фича proxmox)?
Смотреть в сторону /sys/fs/cgroup/cpu/lxc/containername/cpuacct.usage_percpu в зависимости от количества ядер, вывод будет отличаться.

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от pvvking

Ты можешь написать такой сервис. Но в самом конце все равно будет стоять скрипт, который будет дергать раз в н-минут файлик на количество ядер :)

stave ★★★★★
()

Как раз таки если бы количество cpu/cores менялось, то можно было бы ловить event через udev. Но количество ядер не меняется (как видно из того же /proc/cpuinfo), а только ограничивается доступ к ним через cgroup (cpuset.cpus) для процессов контейнера. Никакой event при этом не генерируется.

Другое дело, что непонятно зачем вообще что-то поллить изнутри контейнера, если уже есть таска, которая меняет количество ядер. Почему бы в рамках этой же таски через lxc-attach/ansible/plain_ssh не запускать процесс внутри контейнера?

arutemus
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.