Cần thêm thiết bị đầu cuối giả


11

Tôi đang chạy tmux và tạo nhiều phiên cho các máy chủ khác nhau. Sau khi mở 128, tôi không còn có thể mở các tab mới hoặc mở các tab mới trong Terminal. Các thông báo lỗi là:

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

Có cách nào tôi có thể tăng số lượng ptys không?


Sẽ rất hữu ích khi biết phiên bản OS X nào bạn đang chạy và loại Mac nào, và đặc biệt, bạn đã cài đặt bao nhiêu RAM.
gosmond

Tôi đang sử dụng 10.8.2 và có 8gb RAM, quá đủ để mở hàng nghìn phiên ssh.
Steve Wills

Câu trả lời:


14

(Đã thử nghiệm trên OS X 10.8.2; các bản phát hành khác có thể hơi khác.)

Bạn có thể thay đổi giới hạn của hệ thống đối với ptys bằng lệnh sysctl .

sudo sysctl -w kern.tty.ptmx_max=255

Điều này sẽ ngay lập tức cho phép bạn mở thêm ptys.

Để tự động thiết lập điều này sau mỗi lần khởi động lại, hãy đặt dòng sau vào /etc/sysctl.conftệp:

kern.tty.ptmx_max=255

(Lưu ý: Tôi đã không thử điều này, nhưng, từ cái nhìn vào mã nguồn, có vẻ như launchd xử lý tệp này.)

Tập tin này có thể không tồn tại; nếu bạn phải tạo nó, có lẽ bạn nên chắc chắn rằng nó đã hạn chế quyền sở hữu và quyền:

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

Cuối cùng, bạn có thể gặp phải một số giới hạn tài nguyên theo quy trình hoặc mỗi người dùng khác (ví dụ: tổng số quy trình trên mỗi người dùng và tổng số mô tả tệp mở cho mỗi quy trình).


Cuối cùng phải kiểm tra điều này, hoạt động tuyệt vời, cảm ơn. Đối với hồ sơ, tôi không thể thiết lập điều này trên 999, nhưng điều đó sẽ làm ngay bây giờ.
Steve Wills

1
Điều này cho phép tôi mở tới 169 pty, nhưng không nhiều hơn. sudo sysctl kern.tty.ptmx_maxtrả về 999đó là chính xác. Bất cứ điều gì tôi đang thiếu trên cái này?
ubuntudroid

@ubuntudroid: Bạn có thể đang chạy trong một giới hạn về số lượng tệp đang mở ( ulimittrong bash ). Các loại giới hạn này được kế thừa từ các tiến trình cha, vì vậy để thay đổi nó cho tmux, bạn sẽ cần thay đổi nó trong (ví dụ) một vỏ và sau đó khởi động lại máy chủ tmux của bạn . Để thực hiện thay đổi, liên tục, hãy thử launchctl.confsử dụng limitlệnh .
Chris Johnsen

Bất cứ khi nào bên trong tmux trên máy Mac của tôi (10.9.4) tôi nhận thấy ulimit -ađã báo cáo giới hạn mô tả tệp 256. Gọi ulimit -n 2000hoàn toàn làm việc mặc dù.
Steven Lu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.