如何限制systemd中tty的数量

问题描述 投票:1回答:1

如果运行systemctl,我会得到很多tty(见上文)。有没有办法限制这个数目,从而节省一些内存,因为显然我永远不需要这堆tty。

sys-devices-virtual-tty-ttya0.device                    loaded active plugged   /sys/devices/virtual/tty/ttya0
[...]
sys-devices-virtual-tty-ttyzf.device                    loaded active plugged   /sys/devices/virtual/tty/ttyzf
systemd tty
1个回答
0
投票

这与内核配置(source)中的以下两个设置有关:

$ zgrep CONFIG_LEGACY_PTY /proc/config.gz 
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

我正在Cubietruck上观察到这种行为,显然是在此数量的旧式PTY上已配置。多亏了systemd-analyze plot,我才注意到这是延迟设备启动的主要因素。

结果是有一个kernel command line option可以限制该数字动态

pty.legacy_count=N

((N是您要设置的数字)

对我来说,这意味着要添加这样的一行:

extraargs=pty.legacy_count=6

... ...到/boot/armbianEnv.txt(可以添加更多选项,用空格分隔;仅do not用双引号将第一个=的右侧括起来!)。

在那之后我跑了:

mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

...,因为我不确定armbianEnv.txt是否被“编译”到脚本图像中。我不这么认为,但我不想浪费任何时间。

无论如何,快速浏览一下:

systemctl |grep virtual-tty|wc -l

...确认现在只有6个旧PTY。

[取决于您的特定设备,整个设置也可以采用GRUB_CMDLINE_LINUX中的GRUB_CMDLINE_LINUX_DEFAULT(或/etc/default/grub)的形式,或者GRUB为您的发行版存储其配置的位置(不要忘了在之后将其保存为update-grub您的更改)。

© www.soinside.com 2019 - 2024. All rights reserved.