由于pty
是有限的,我想修改 的内容/proc/sys/kernel/pty/max
。max 中原来的值是 4096,现在我想将其修改为 10000。
[root@home pty]# pwd
/proc/sys/kernel/pty
[root@home pty]# ls -lh
total 0
-rw-r--r-- 1 root root 0 Aug 13 11:24 max
-r--r--r-- 1 root root 0 Aug 13 11:24 nr
vim max
我直接使用 root 编辑 max 文件,但失败了。我:w!
在 vim 中使用,但随后我看到以下图片:
所以我首先尝试chmod
最大化,但也失败了:
[root@home pty]# chmod 666 max
chmod: changing permissions of `max': Operation not permitted
[root@home pty]# whoami
root
那么,我该如何改变的内容/proc/sys/kernel/pty/max
?
编辑
@jon-lin:
使用以下命令也失败sysctl
:
[root@home kernel]# sysctl -a | less | grep pty
kernel.pty.nr = 2
kernel.pty.max = 4096
[root@home kernel]# sysctl kernel.pty.max=10000
error: "Operation not permitted" setting key "kernel.pty.max"
[root@home kernel]# sysctl -p kernel.pty.max 10000
error: unable to open preload file "kernel.pty.max"
[root@home kernel]# sysctl -p kernel.pty.max = 10000
error: unable to open preload file "kernel.pty.max"
@AlanCurry:
使用 echo 也失败了:
[root@home pty]# cat max
4096
[root@home pty]# echo 10000 > max
bash: echo: write error: Operation not permitted
[root@home pty]# echo 10000 >> max
bash: echo: write error: Operation not permitted
[root@home pty]# cat max
4096
答案1
如果您想更改可以拥有的最大伪终端数量,请不要编辑 proc 文件。您应该进行更改/etc/sysctl.conf
,然后重新运行sysctl -p
以在运行时更改内核参数。具体来说,更改(或添加)以下行:
kernel.pty.max = <max>
更改<max>
为您想要的数字。
答案2
我刚刚在我的环境中遇到了同样的问题。
显然,OpenVZ 在主机级别控制这些变量,即如果您想更改某些设置,则需要在主机上进行更改,并且它将应用于该物理服务器上运行的所有虚拟机。