더 많은 의사 터미널 필요


11

tmux를 실행 중이며 다양한 서버에 많은 세션을 생성하고 있습니다. 128을 연 후에는 더 이상 새 탭을 열거 나 터미널에서 새 탭을 열 수 없습니다. 오류 메시지는 다음과 같습니다.

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

pty 수를 늘릴 수있는 방법이 있습니까?


실행중인 OS X의 버전, 어떤 종류의 Mac, 특히 설치 한 RAM의 양을 아는 것이 도움이됩니다.
gosmond

10.8.2를 사용하고 있으며 8GB의 RAM이있어 수천 개의 ssh 세션을 열 수있을만큼 충분해야합니다.
Steve Wills

답변:


14

(OS X 10.8.2에서 테스트되었으며 다른 릴리스는 약간 다를 수 있습니다.)

sysctl 명령을 사용하여 ptys에 대한 시스템 제한을 변경할 수 있습니다 .

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 이상으로 설정할 수 없었지만 지금은 그렇게 할 것입니다.
Steve Wills

1
이것은 최대 169 ptys를 열 수 있지만 더 이상 열 수는 없습니다. 올바른 것을 sudo sysctl kern.tty.ptmx_max반환 999합니다. 이것에 빠진 것이 있습니까?
우분투 로이드

@ubuntudroid : 당신은 (열린 파일의 수에 대한 제한으로 실행 될 수 ulimit있는 배쉬 ). 이러한 종류의 한계는 상위 프로세스에서 상속되므로 tmux 의 한계 를 변경하려면 셸에서 변경 한 다음 tmux 서버 를 다시 시작해야 합니다. "지속적"변경을하려면 명령launchctl.conf 을 사용하는을 사용해보십시오 . limit
Chris Johnsen

내 Mac (10.9.4)에서 tmux 내부에있을 때마다 ulimit -a256 파일 설명자 제한이보고되었습니다. ulimit -n 2000그래도 전화는 완전히 효과가있었습니다.
Steven Lu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.