ফিক্সিং ওলিমিট: ফাইল খুলুন: সীমা পরিবর্তন করতে পারে না: অপারেশন অনুমোদিত নয়


13

আমি এটি বিভিন্ন জিএনইউ / লিনাক্স ইনস্টলেশনতে পরীক্ষা করেছি:

perl -e 'while(1){open($a{$b++}, "<" ,"/dev/null") or die $b;print " $b"}'

সিস্টেম এ এবং ডি

আমি যে প্রথম সীমাটি আঘাত করেছি সেটি হ'ল 1024 It এটি সহজেই /etc/security/limits.conf এ স্থাপন করা হয়:

*                hard    nofile          1048576

এবং তারপরে চালান:

ulimit -n 1048576
echo 99999999 | sudo tee /proc/sys/fs/file-max

এখন পরীক্ষাটি 1048576 এ চলেছে।

যাইহোক, দেখে মনে হচ্ছে আমি এটিকে 1048576 এর উপরে তুলতে পারব না 4 যদি আমি 1048577 সীমাবদ্ধ করে রাখি তবে এটি কেবল উপেক্ষা করা হবে।

কি কারণ?

সিস্টেম বি

সিস্টেমে BI এমনকি 1048576 এ যেতে পারে না:

echo 99999999 | sudo tee /proc/sys/fs/file-max

/etc/security/limits.conf:

*                hard    nofile          1048576

আমি এখানে পেয়েছি:

$ ulimit -n 65537
bash: ulimit: open files: cannot modify limit: Operation not permitted
$ ulimit -n 65536
#OK

সেই সীমাটি কোথা থেকে এল?

সিস্টেম সি

এই সিস্টেমের সীমাবদ্ধতাগুলিতে 1048576 সীমা রয়েছে এবং 99/999999 / proc / sys / fs / ফাইল-সর্বাধিক সীমা রয়েছে।

তবে এখানে সীমা 4096:

$ ulimit -n 4097
-bash: ulimit: open files: cannot modify limit: Operation not permitted
$ ulimit -n 4096
# OK

আমি কীভাবে এটি বাড়িয়ে তুলব (কমপক্ষে) 1048576?

(নিজের কাছে নোট: করবেন না echo 18446744073709551616 | sudo tee /proc/sys/fs/file-max:)


1
ব্যাশ: ulimit: ফাইল খুলুন: সীমা সংশোধন করতে পারবেন না: আমি ঠিক একই সমস্যা আছে, সীমা 1048576. মনে করে থাকেন আমি উপর যেতে নিম্নলিখিত ত্রুটি পেতে মনে হয় অপারেশন না অনুমতি
Abbadon

হাই, আমি একটি খুব অনুরূপ সমস্যা হচ্ছে। আমি মনে করি যে এই বিভিন্ন সিস্টেমগুলি কী তা সম্পর্কে আরও বিশদ সরবরাহ করা খুব সহায়ক হবে।
4

উত্তর:


4

/etc/ssh/sshd_configএতে রয়েছে যা পরীক্ষা করুন :

UsePAM=yes

এবং /etc/pam.d/sshdএতে রয়েছে:

session    required   pam_limits.so

1048576 সর্বোচ্চ কেন তার কোনও উত্তর নেই।

1048576 প্রক্রিয়া অনুযায়ী বলে মনে হচ্ছে। তাই একাধিক প্রক্রিয়া চালিয়ে এই সীমাটি অতিক্রম করা যায়।


4
যদি এটি সত্যিই আপনার নিজের সমস্যার সমাধান হত তবে আমি মনে করি সমস্যা এবং উপরের সমাধানের মধ্যে আরও একটি সংযোগ আকর্ষণ করা ভাল d
জেফ শ্যাচলার

2
Re: 1048576 (= 2 ^ 10 * 2 ^ 10 = 1024 ^ 2, রেফারেন্সের জন্য)। : এই উত্তর এখানে কিছু প্রাসঙ্গিক তথ্য হতে পারে stackoverflow.com/a/1213069/2320823
saladi

1
এর সাথে এসএসআই কি করতে পেরেছিল?
লিনাস

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