さらに擬似端末が必要


11

tmuxを実行して、さまざまなサーバーへの多くのセッションを作成しています。128を開いた後、新しいものを開くことも、ターミナルで新しいタブを開くこともできなくなりました。エラーメッセージは次のとおりです。

forkpty: Device not configured
Could not create a new process and open a pseudo-tty.

ptyの数を増やす方法はありますか?


実行しているOS Xのバージョン、およびMacの種類、特にインストールしたRAMの量を知ることは役立ちます。
ゴスモンド

私は10.8.2を使用しており、8GBのRAMを持っています。これは数千のSSHセッションを開くのに十分すぎるはずです。
スティーブウィルズ

回答:


14

(OS X 10.8.2でテスト済み。他のリリースは若干異なる場合があります。)

sysctlコマンドを使用して、システムのptyの制限を変更できます。

sudo sysctl -w kern.tty.ptmx_max=255

これにより、より多くのptyをすぐに開くことができます。

各再起動後にこれを自動的に設定するには、/etc/sysctl.confファイルに次の行を追加します。

kern.tty.ptmx_max=255

(注:私はこれを試しませんでしたが、ソースコードを見ると、launchdがこのファイルを処理しているようです。)

このファイルは存在しない可能性があります。作成する必要がある場合は、おそらく所有権とアクセス許可が制限されていることを確認する必要があります。

sudo chown root:wheel /etc/sysctl.conf
sudo chmod 644 /etc/sysctl.conf

最終的に、他のプロセスごとまたはユーザーごとのリソース制限(ユーザーごとのプロセスの総数、プロセスごとのオープンファイル記述子の総数など)に遭遇する可能性があります。


最終的にこれをテストするようになった、素晴らしい作品、ありがとう。記録のために、これを999以上に設定することはできませんでしたが、今のところはこれで十分です。
スティーブウィルズ

1
これにより、最大169 ptyを開くことができますが、それ以上はできません。どちらが正しいかをsudo sysctl kern.tty.ptmx_max返し999ます。私はこれで欠けているものはありますか?
ubuntudroid

@ubuntudroid:あなたは(開いているファイルの数の制限に実行しているかもしれないulimitはbash)。これらの種類の制限は親プロセスから継承されるため、tmuxで変更するには、シェルなどで変更してからtmuxサーバーを再起動する必要があります。変更を「永続的」にするlaunchctl.confには、limitコマンドを使用するを試してください。
クリスジョンセン

私のMac(10.9.4)のtmux内でulimit -aは、256個のファイル記述子の制限が報告されることに気付きました。呼び出しはulimit -n 2000完全に機能しました。
スティーブンルー14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.