ম্যাক ওএস এক্স 10.6 এ উলিমিট নিয়ে অদ্ভুত আচরণ


8

Ulimit সঙ্গে কাজ যখন আমি কিছু খুব অদ্ভুত আচরণ পেতে। আমি শুধু একটি নতুন শেল খুলুন

Hector:~ robertj$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited 
open files                      (-n) 256 
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 532
virtual memory          (kbytes, -v) unlimited

ঠিক আছে, সেটাই ডিফল্ট বলে মনে হয় এমনকি আপনি সেট করেছেন /etc/launchd.conf মধ্যে ফাইলগুলির সীমাটি অলমাইট হতে পারে। কিন্তু যে অন্য দিন আরেকটি প্রশ্ন।

এখন আমি ফাইলের সংখ্যা 1024 তে বাড়িয়ে দিচ্ছি এবং আবার নতুন সেটিংস দেখতে চাই।

 Hector:~ robertj$ ulimit -n 1024
 Hector:~ robertj$ ulimit -a | grep open
 open files                      (-n) 1024

ঠিক আছে, যে কাজ করে। কুল! এখন আবার সেটিংস পরিবর্তন করতে দেয়

Hector:~ robertj$ ulimit -n 512
Hector:~ robertj$ ulimit -a | grep open
open files                      (-n) 512

আবার যে সূক্ষ্মভাবে সূক্ষ্ম কাজ করে। আবার কিছু উচ্চ মান পরিবর্তন করুন

Hector:~ robertj$ ulimit -n 1024
-bash: ulimit: open files: cannot modify limit: Operation not permitted
Hector:~ robertj$ 

কি এখন f *** এই?

আমি যদি এই sudo চেষ্টা করি আমি একটি ত্রুটি পাবেন না কিন্তু মান পরিবর্তন হয় না।

Hector:~ robertj$ sudo ulimit -n 1024
Password:
Hector:~ robertj$ ulimit -a | grep open
open files                      (-n) 512
Hector:~ robertj$ 

এখানে কি হচ্ছে?

আমি সম্পূর্ণরূপে stumped করছি!

কোন সাহায্য ব্যাপকভাবে প্রশংসা করা হয়...

Robertj

উত্তর:


18

আপনি বিভ্রান্তিকর দুটি জিনিস আছে। প্রথম প্রতিটি সম্পদ জন্য হার্ড এবং নরম সীমা উভয় আছে। ulimit -n 512 সেট উভয় তাদের, কিন্তু ulimit -a শুধুমাত্র নরম সীমা দেখায়। একবার হার্ড সীমা সেট করা হয়, এটি শুধুমাত্র হ্রাস করা যেতে পারে।

$ ulimit -n
256
$ ulimit -Hn  # There's no initial hard limit
unlimited
$ ulimit -n 512  # This sets both the hard and soft limits
$ ulimit -n
512
$ ulimit -Hn
512
$ ulimit -n 1024  # Once set, the hard limit cannot be increased
-bash: ulimit: open files: cannot modify limit: Operation not permitted

দ্বিতীয় জিনিস যে বিভ্রান্তিকর আপনি যে হয় sudo ulimit আপনি এটা মনে করেন কি না। এটি একটি (রুট) উপ-প্রসেস spawns, খোলা ফাইল সীমা সেট করে যে subprocess জন্য , এবং তারপর subprocess প্রস্থান। সীমা একটি প্রতি-প্রক্রিয়া সেটিংস, তাই তাদের একটি পরিবর্তন sudo'ing কিছু দরকারী কাজ করে না।


হাই গর্ডন, মহান ব্যাখ্যা জন্য ধন্যবাদ। দুঃখের বিষয় আমি এখনও আপনার উত্তর আপত্তিকর করতে পারেন না - কিন্তু এটি অনেক সাহায্য!

তাই যদি একটি হার্ড সীমা সেট করা হয়, কিভাবে আমরা হার্ড সীমা বৃদ্ধি করতে পারি?
— greg

@greg: আমি মনে করি না আপনি এটি করতে পারেন - এটিই এটি একটি কঠিন সীমা তৈরি করে। কিছু অপারেটিং সিস্টেমগুলিতে, রুট অন্যান্য প্রসেসগুলিতে হার্ড সীমা বাড়াতে পারে, তবে আমি মনে করি না যে এটি OS X তেও সম্ভব।
— Gordon Davisson

ধন্যবাদ। আমি ঘটনাক্রমে আমার সিস্টেম অব্যবহারযোগ্য প্রশংসনীয় যা খুব কম সেট আপ। একটি রিবুট এটা ঠিক করলো।
— greg
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.