我刚刚尝试打开新的终端窗口并显示此错误消息:
无法打开 PTY:设备上没有剩余空间
看来我无法再打开终端窗口,除非关闭现有窗口(或重新启动)。我的系统没有任何其他问题。
我的系统:
Debian Buster (xfce4)
Linux debian 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux
存储使用情况:
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 786M 9.5M 776M 2% /run
/dev/sda4 320G 244G 62G 80% /
tmpfs 3.9G 315M 3.6G 9% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 786M 32K 786M 1% /run/user/1000
索引节点的使用:
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 978K 455 978K 1% /dev
tmpfs 982K 872 981K 1% /run
/dev/sda4 21M 7.2M 14M 36% /
tmpfs 982K 394 982K 1% /dev/shm
tmpfs 982K 5 982K 1% /run/lock
tmpfs 982K 17 982K 1% /sys/fs/cgroup
tmpfs 982K 34 982K 1% /run/user/1000
可以肯定存储或索引节点计数没有任何问题。我已经关闭了所有打开的程序,之后我可以再打开几个终端窗口,但仍然收到错误消息。
答案1
你正在寻找完全错误的地方。存储设备与PTY无关。
PTY 是“伪终端接口”。它负责创建来自远程终端的连接。例如,您使用xterm
或ssh
- 在实际机器上创建新的 PTY 主通道。
PTY(或远程连接)的最大数量在 中定义/proc/sys/kernel/pty/max
。它的补码:/proc/sys/kernel/pty/nr
,显示当前正在使用的 PTY 数量。
如需更详细(和更官方)的解释,请执行man 7 pty
.
答案2
感谢@WhiteOwl 的精彩回答。增加最大 pty 连接数解决了该问题:
#Add this to /etc/sysctl.conf
kernel.pty.max = 1000
#Reload to apply new changes
sysctl -p