systemd - 如何限制systemd中的tty数量

标签 systemd tty

如果我运行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

最佳答案

这与内核配置中的以下两个设置有关( 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 (可以添加更多选项,用空格分隔;只是不要将第一个 = 的右侧用双引号引起来!)。

之后我跑了:

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)。

关于systemd - 如何限制systemd中的tty数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40328916/

相关文章:

linux - systemd-run 在使用 --setenv 时不设置环境变量

linux - 从 systemd 服务调用 "top"命令

linux - 在 tty1 而不是 ttyS1 上显示 Linux 引导消息

linux - 如何避免终端消息搞砸 vim?

Systemd 退出时状态=209/STDOUT

node.js - Systemd + NPM 启动

ruby - 我如何使 stdin 成为 tty?

linux - execvp 后 QEMU 无终端输出

systemd:覆盖单位文件时如何清除条目

c# - 在 C# 中写入 linux tty (/dev/) 文件