linux问题
问题:PTY allocation request failed on channel 0
系统当前使用的虚拟终端pty的数量已经达到了系统允许的上限。
解决方法:
关闭pts连接
root执行 ps -ef|grep pts 找到 使用虚拟终端的进程 ,看是否因程序异常造成使用这么多的pty,然后将异常进程杀掉。
设置最大pty数量
# 1.列出最大伪终端数
cat /proc/sys/kernel/pty/max
# 2.增加最大伪终端数 (PTY)
sudo vi /etc/sysctl.conf
# 3.设置最大个数(默认为4096)
kernel.pty.max = 3
# 4.保存并关闭文件。重新加载更改
sudo sysctl -p
# 5.验证新的最大伪终端数值是否已更改
cat /proc/sys/kernel/pty/max
问题:shell request failed on channel 0
普通用户 max user process值是不生效的,需要修改/etc/security/limits.d/20-nproc.conf文件中的值。
如果使用*号让全局用户生效是受文件/etc/security/limits.d/20-nproc.conf中nproc值大小制约的,而如果仅仅是针对某个用户,那么就不受该文件nproc值大小的影响。
解决方法xxxx 普通用户
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
xxx hard nproc unlimited
xxx soft nproc unlimited