If I run systemctl
I get a lot of ttys (see above). Is there any way to limit this number and so save some memory because obviously I will not need this bunch of tty never.
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
This is related to the following two settings in the kernel configuration (source):
$ zgrep CONFIG_LEGACY_PTY /proc/config.gz
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
I was observing this behavior on a Cubietruck, where apparently this number of legacy PTYs is configured. Thanks to systemd-analyze plot
I had noticed this as being a major factor in delaying the boot on my device.
Turns out there is a kernel command line option which can restrict the number dynamically:
pty.legacy_count=N
(where N
is the number you want set)
For me this meant to add a line like this:
extraargs=pty.legacy_count=6
... to /boot/armbianEnv.txt
(further options can be added, separated by spaces; just do not enclose the right side of the first =
in double quotes!).
After that I ran:
mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
... because I was unsure whether the armbianEnv.txt
gets "compiled" into the script image. I don't think so, but I didn't want to waste any time.
Anyway, a quick look with:
systemctl |grep virtual-tty|wc -l
... confirms that there are now just 6 of those legacy PTYs.
Depending on your particular device the whole setting could also be in the form of GRUB_CMDLINE_LINUX
(or GRUB_CMDLINE_LINUX_DEFAULT
) in /etc/default/grub
or where ever GRUB stores its configuration for your distro (don't forget to update-grub
after your changes).