সেন্টস-এ ওলিমিট বাড়ানো


18

আমাদের কাছে একটি সেন্টোস বাক্স রয়েছে যা আমি ব্যবহারকারীর দ্বারা খোলা থাকা ফাইলের সর্বাধিক সংখ্যা বাড়ানোর চেষ্টা করছি। বর্তমানে যখন আমি রান ulimit -Snআমি পেতে 1024এবং ulimit -Hnদেয় 4096। আমার এই সংখ্যাটি প্রায় 6000 পর্যন্ত দরকার need

ইন /etc/sysctl.confআমি সেট করেছি fs.file-max = 100000। ইন /etc/security/limits.confআমি নিম্নলিখিত সেট আছে:

username soft nofile 6000
username hard nofile 65535

আমি লগ আউট করেছি এবং হিসাবে লগ ইন করেছি usernameতবে এখনও আমার পরিবর্তনগুলি দেখছি না। এই মানটি বদলাতে আমার কী দরকার?

আমার যা কিছু আছে /etc/security/limits.dতা আছে 90-nproc.conf। আমি এটাও নিশ্চিত করেছি যে আমার .bash_profile বা .Bashrc এ উলিমিট ডাকা হচ্ছে না।

আমি যখন চালনা sysctl -pকরি তখন সেটিংসটি আমার পছন্দসই হয় এবং এটি আমার পছন্দসই মানটি প্রদর্শন করে fs.file-max। তবে আমি যখন দৌড়ে যাই তখন আমি ulimit -Sn1048 পাই I আমি চালানোর চেষ্টা করলে sysctl --systemপাই error: Unknown parameter "--system"


আপনি কি পুনরায় বুট করার চেষ্টা করেছেন? যতদূর আমি জানি যে সেটিংগুলি বুট করার সময় পড়ে read
কামিল

এর জন্য আপনার পুনরায় বুট করার দরকার নেই।
জাভেয়ের লুকাস

উত্তর:


14

/etc/sysctl.confআবার পড়তে বাধ্য করতে চালান sysctl -p

/etc/security/limits.confলগইন শেলগুলি দ্বারা ফাইলটি পড়া হয় এবং জিইউআইতে থাকলে আপনার সক্রিয় সেশন উইন্ডোজগুলি বন্ধ করা উচিত। দূরবর্তী লগইনগুলির জন্য, এটি রিলগের উপর কার্যকর হয়।


1
দৌড় দিন, এখনও একটি ব্লগ পরে পরিবর্তন দেখা যাচ্ছে না।
টুবগ্যু 50035

@ টিবাগ্যু 50035 fs.file-maxসিস্টেমটিতে উন্মুক্ত ফাইলের সর্বাধিক সংখ্যা। এটি একটি কঠিন সীমা এবং এটি ulimitআপনার ক্ষেত্রে কল দ্বারা প্রতিফলিত হবে না ।
জাভিয়ের লুকাস

ওহ ঠিক আছে. আমি কি তখন বেশি বেশি ফাইল খুলতে চাইছি না?
টুবগ্যু 50035

@ tubaguy50035 সম্পর্কিত নয় এটি সিস্টেমের হার্ড সীমাবদ্ধতা যা উপরের যে কোনও সংখ্যাকে সীমাবদ্ধতা ছাড়িয়ে দেয় .c তবে সীমাবদ্ধতাগুলি এখনও প্রয়োগ করা হয়। আপনি কি নতুন সেশনে সরাসরি ওলিমিটের সাথে শক্ত এবং নরম সীমাটি সেট করার চেষ্টা করতে পারেন এবং দেখতে পাবেন যে আপনি একই সর্বোচ্চটি পেয়েছেন? কিছু আপনার কনফিগারেশন ওভাররাইড মনে হচ্ছে।
জাভিয়ের লুকাস 20

এটি বলে যে অপারেশন অনুমোদিত নয়। আমার কি ব্যবহারকারীকে কোনও কিছুর অ্যাক্সেস দেওয়ার দরকার আছে? আমি বরং ওয়েব ব্যবহারকারীর মূল অধিকার না থাকি।
টুবগ্যু 50035

6

অন্য পোস্টার যেমন বলেছে, চলমান কার্নেলের মধ্যে আপনার সিস্টেমে মান নির্ধারণ করতে হবে। রিবুট না করে আপনি মানটি সেট করতে পারেন এমন অনেকগুলি উপায় রয়েছে:

sysctl -p /etc/sysctl.conf
sysctl -w fs.file-max=100000
sysctl --system

আইএমএইচও শেষ পদ্ধতিটি সর্বোত্তম, কারণ এটি সেই আদেশটির প্রতিরূপ করে যা বুট চলাকালীন সেটিংস প্রয়োগ করা হত (এবং এইভাবে যদি আপনার বিরোধ হয় তবে তা স্পষ্ট হয়ে উঠবে)।

দ্রষ্টব্য: আপনি CentOS এর কোন সংস্করণটি ব্যবহার করছেন তা আমি নিশ্চিত নই, তবে কমপক্ষে on-এ আমি একটি সমস্যার মুখোমুখি হয়েছি যেখানে ড্রাকট যদি কোনও কারণে ইনি্রামফগুলি পুনরায় তৈরি করে (যেমন কোনও নতুন কার্নেল মডিউল ইনস্টল করার সময়) এটি অনুলিপি করে দেবে /etc/sysctl.* এর সামগ্রীগুলি initramfs- এ অন্তর্ভুক্ত করা হবে, যা পরে d পর্যায়ে systemd-sysctl দ্বারা সম্পাদন করা হবে, এমনকি যদি আপনি পরে /etc/sysctl.conf এর বাইরে থাকা এন্ট্রিগুলি মুছে ফেলেন।

আমার পরিবেশে আমি সেই পরিবেশ থেকে /etc/sysctl.* কে বাদ দেওয়ার জন্য সিস্টেমেড ড্রাক্ট মডিউল সম্পাদনা করেছি (যেহেতু rootfs মাউন্ট হয়ে গেলে এবং সিস্টেমেড-সিস্টেস্টলটি আবার চালিত হওয়ার পরে সেগুলি সেটিংস সেট হয়ে যাবে)। এটি কেবল একটি গ্যাচা যা আপনি হয়ত এতে প্রবেশ করতে পারেন।


আমি CentOS 6.5 এ আছি। এর কিছু ফলাফলের সাথে আমার প্রশ্নও আপডেট করেছে।
টুবগ্যু 50035
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.