Ограничение таблицы процессов

Вы можете установить пакет linux -lts рядом с обычным пакетом linux и добавить дополнительную запись в меню загрузчика для загрузки с ядром LTS вместо обычного один. Поскольку Arch Linux поддерживает несколько загрузчиков, я не буду приводить полное руководство для этого здесь, но для syslinux, где ваш пункт меню в /boot/syslinux/syslinux.cfgобычно выглядит как

LABEL arch
MENU LABEL Arch Linux
LINUX../vmlinuz-linux
APPEND root=/dev/vg-raid/root cryptdevice=/dev/md0:raid resume=/dev/disk/by-label/swap rw
INITRD../initramfs-linux.img

Вы можете просто добавить -ltsк именам файлов для LINUXи INITRD, чтобы создать запись для ядра LTS:

LABEL archlts
MENU LABEL Arch Linux LTS
LINUX../vmlinuz-linux-ts
APPEND root=/dev/vg-raid/root cryptdevice=/dev/md0:raid resume=/dev/disk/by-label/swap rw
INITRD../initramfs-linux-lts.img

Добавление дополнительных записей для загрузки grub, lilo, systemd -должно работать так же.

Обратите внимание, что это позволяет вам установить второе ядро ​​только рядом с регулярно обновляемым. Это не предотвращает поломку других пакетов, даже при использовании с ядром LTS.

1
15.05.2020, 01:49
1 ответ

Запустите sysctl kernel.pid_max kernel.threads-max, чтобы увидеть текущие максимальные ограничения для процессов и потоков соответственно. (Каждый процесс занимает по крайней мере один поток; больше, если многопоточность.)

Ограничение процесса по умолчанию может составлять 32768 в дистрибутивах, ориентированных на рабочий стол -, или несколько выше в дистрибутивах, ориентированных на предприятия -. Вы можете использовать /etc/sysctl.confдля увеличения пределов до 4194304 (по крайней мере )в современных 64 -битных системах.

(В версии ядра 3.10.25 максимальное значение составляло 4194304; с тех пор он мог быть увеличен еще больше.)

Вы не можете удалить зомби-процессы, они уже мертвы. Что вам следует сделать, так это убить злого хозяина зомби, то есть родительский процесс зомби, потому что присутствие зомби указывает на то, что родительский процесс не выполняет свою работу должным образом. После того, как небрежный родительский процесс будет уничтожен, зомби будут приняты процессом #1, который, как правило, практически сразу их очистит.

Родительский процесс должен либо всегда проверять код возврата своих дочерних процессов, когда он получает уведомление о том, что его дочерний процесс умер, либо он должен принять меры, чтобы дочерние процессы отключались при запуске -, поэтому процесс #1 (обычно/sbin/init)могут их принять. Процесс #1 несет особую ответственность за принятие любых других процессов без родителей и заботится об их уведомлениях о смерти.

3
28.04.2021, 23:14

Теги

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