จะเปลี่ยนค่า ulimit เริ่มต้นใน Mac OS X 10.6 ได้อย่างไร


42

Mac OS X จำกัด จำนวนกระบวนการที่ 266 และเปิดไฟล์เป็น 256 บางครั้งนี่เป็นปัญหา 256 ไฟล์ที่เปิดและกระบวนการ 266 นั้นไม่มาก

เป็นไปได้อย่างไรที่จะเปลี่ยนค่า ulimit เริ่มต้นใน Mac OS X 10.6.7

(หวังว่าจะไม่มีความแตกต่างระหว่าง 10.6.7 กับ Snow Leopard รุ่นอื่น ๆ )

คำถามที่เกี่ยวข้องใน serverfault น่าเสียดายที่คำตอบสำหรับ Mac OS X 10.5 และมันไม่ทำงานใน 10.6


เพื่อการเปลี่ยนแปลงอย่างรวดเร็ว: ulimit -n 1024. แต่จะไม่เปลี่ยนค่าเริ่มต้น
Cœur

คำตอบ:


47

launchctl สามารถควบคุมได้แล้ว

คุณสามารถทำ

launchctl limit maxfiles 2048 2048 

เพื่อตั้งค่าขีด จำกัด ซอฟต์และฮาร์ดสำหรับไฟล์สูงสุดที่เปิด สำหรับข้อมูลเพิ่มเติมดูส่วน 'จำกัด ' ของ:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/launchctl.1.html


1
ยังใช้งานได้ใน OS X 10.9
Olli

ฉันใช้ 10.9.4 และเมื่อฉันlaunchctl limit maxfiles 2048 2048และmongoฉันยังคงได้รับsoft rlimits too lowข้อผิดพลาด มีอะไรอีกบ้างที่ฉันลองได้บ้าง
Ryan

หลังจากเปลี่ยนขีด จำกัด ด้วย sudo launchctl เป็นต้นจากนั้นให้ปิด / เปิดเทอร์มินัลแล้วตั้ง ulimit -n 2048 คราวนี้มันควรจะทำงาน ตรวจสอบด้วย ulimit -n
chrismarx

4
หลังจากทำ 'launchctl limit maxfiles 2048 2048' ฉันได้รับ 'เปิดไฟล์มากเกินไป' ใน Mac ของฉันเมื่อฉันพยายามทำอะไรในเชลล์และแอพ Cocoa แสดงเมนูว่าง ระบบการปิ้งค่อนข้างมาก รีบูตขอบคุณมันคง
Graham Wheeler

3
ห้ามรันคำสั่งนี้บน macOS Sierra คำสั่งที่ถูกต้องน่าจะเป็นlaunchctl limit maxfiles 2048 unlimitedแม้ว่าฉันจะแนะนำให้ดูการตั้งค่าปัจจุบันของคุณด้วยlaunchctl limit maxfilesก่อนที่จะทำเช่นนั้นมิฉะนั้นคุณจะล็อคคอมพิวเตอร์ของคุณโดยสมบูรณ์
snowe2010

8

มีคำตอบสำหรับ StackOverflow สำหรับอันนี้ เห็นได้ชัดว่าulimitทำตอนนี้


1
คุณสามารถเปลี่ยนค่าด้วย ulimit แต่ไม่ได้บันทึกค่าเหล่านั้น โพสต์ที่เชื่อมโยงจะไม่มีวิธีการบันทึกค่าเริ่มต้น
Olli

3
การแก้ไขอย่างรวดเร็ว: แก้ไข ~ / .bash_profile ของคุณและเพิ่มสิ่งนี้ในบรรทัด: ulimit -n 1024 (โดยใช้หมายเลขที่คุณต้องการแน่นอน)
PapaFreud

2
@PapaFreud นั่นคือการดำเนินการเฉพาะเมื่อคุณเปิด terminal / bash ไม่ใช่โปรแกรมทั้งหมดที่จะถูกเรียกใช้งานจากเทอร์มินัล
Olli

1

FYI

.bash_profile การอัปเดตไม่ได้ช่วยฉันสำหรับระบบปฏิบัติการ v10.10.3 แต่การติดตั้ง NodeJS ใหม่จาก 0.10.35 ถึง 0.12.3 ช่วยฉันด้วยและข้อผิดพลาดหายไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.