“设备上没有剩余空间”,但事实并非如此

“设备上没有剩余空间”,但事实并非如此

我刚刚尝试打开新的终端窗口并显示此错误消息:

无法打开 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 是“伪终端接口”。它负责创建来自远程终端的连接。例如,您使用xtermssh- 在实际机器上创建新的 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

相关内容