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ファイルを直接編集しましたが、失敗します。 vimで:w!
を使用していますが、次の図が表示されます。
だから私は最初にchmod
maxを試みましたが、それも失敗しました:
[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
使用できる最大疑似端末の数を変更する場合は、procファイルを編集しないでください。 /etc/sysctl.conf
に変更を加えてから、sysctl -p
を再実行して、実行時にカーネルパラメータを変更する必要があります。具体的には、次の行を変更(または追加)します。
kernel.pty.max = <max>
<max>
を必要な数に変更します。
私の環境でも同じ問題が発生しました。
どうやらOpenVZはホストレベルでこれらの変数を制御しているようです。つまり、設定を変更したい場合は、ホストマシンで変更する必要があり、その結果、その物理サーバーで実行されているすべてのVMに適用されます。