আমি কীভাবে সমস্ত প্রক্রিয়াগুলির জন্য উন্মুক্ত ফাইলের সীমা বাড়াতে পারি?


32

আমি উলিমিট ব্যবহার করতে পারি তবে আমি মনে করি এটি কেবল আমার শেল সেশনকেই প্রভাবিত করে। আমি চাই সমস্ত প্রক্রিয়াটির সীমা বাড়ানো হোক। এটি রেড হাটে।


রেড হ্যাট কোন সংস্করণ, উপায়? RHEL5?
mattdm

উত্তর:


26

জাস্টিনের উত্তর আপনাকে জানায় কীভাবে পুরো সিস্টেমে মোট উপলব্ধ ওপেন ফাইলগুলির সংখ্যা বাড়ানো যায় । তবে আমি মনে করি আপনি বিশ্বব্যাপী প্রতি ব্যবহারকারীর সীমা কীভাবে বাড়াবেন জিজ্ঞাসা করছেন। এর উত্তরটি হ'ল নিম্নলিখিত লাইনগুলি যুক্ত করা /etc/security/limits.conf:

*               soft    nofile            2048
*               hard    nofile            2048

(যেখানে * এর অর্থ সমস্ত ব্যবহারকারী।)

সেই ফাইলটিতে নিজেই এবং এর মধ্যে কিছু সংক্ষিপ্ত ডকুমেন্টেশন রয়েছে man limits.conf। এটি pam_limits.soমডিউলটির মাধ্যমে প্রয়োগ করা হয়েছে যা কনফিগার করা বিভিন্ন পরিষেবার জন্য ডাকা হয় /etc/pam.d/

এবং, আমাকে স্বীকার করতে হবে, 1024 ডিফল্টটি কোথা থেকে এসেছে তা আমার কোনও ধারণা নেই । এবং বিশ্বাস করুন, আমি তাকান। এমনকি আমি পাম_লিমিট মডিউলটি কনফিগার করা ছাড়াও চেষ্টা করেছি এবং এখনও আছে there এটি অবশ্যই কোথাও কঠোর কোডড হওয়া উচিত তবে আমি কোথায় তা নিশ্চিত নই।


2
হুম ... আমি এটি সঠিকভাবে সেট করেছি। এসএসএচ থেকে প্রস্থান করুন এবং ফিরে আসুন এবং আমার নরম সীমাটি এখনও 1024 এ সেট করা আছে this এই "সক্রিয়" করতে আমি কি অনুপস্থিত রয়েছি? ধন্যবাদ।
জোশুয়া পিন্টার

@ ম্যাটডেম - এটি উল্লেখযোগ্য যে কয়েকটি লিনাক্স বিতরণে উল্লিখিত ফাইলটি এর অধীনে থাকবে: /etc/limits.conf
গাই

13

লিনাক্স ওপেন ফাইল / ফাইল ডেস্ক্রিপ্টারস (এফডি) সর্বাধিক সংখ্যা বৃদ্ধি করুন নিবন্ধ অনুসারে , আপনি এন্ট্রি যুক্ত করে খোলা ফাইলের সীমা বাড়াতে পারেন /etc/sysctl.conf

নিম্নলিখিত হিসাবে একটি কনফিগার নির্দেশ যুক্ত করুন:

fs.file-max = 100000

তারপরে ফাইলটি সেভ এবং বন্ধ করুন। পরিবর্তনগুলি কার্যকর হওয়ার জন্য ব্যবহারকারীদের লগ আউট এবং আবার লগ ইন করতে হবে বা তারা নিম্নলিখিত কমান্ডটি টাইপ করতে পারেন:

# sysctl -p

আপনি কমান্ড দিয়ে আপনার সেটিংস যাচাই করতে পারেন:

# cat /proc/sys/fs/file-max

আমি সিস্টেম-ওয়াইড এই নির্দিষ্ট সেটিংটির জন্য লগ আউট করার প্রয়োজন এবং আবার সাইন ইন করার প্রয়োজন সম্পর্কে সন্দেহবাদী। (এটি
সিস্টেস্টেলের

13

লিনাক্সে সর্বাধিক ইউলিমিট ওপেন ফাইল সংখ্যা বৃদ্ধি করুন

1. স্টেপ: খুলুন sysctl.conf এবং এই লাইন যুক্ত করুন fs.file-max = 65536

$ vi /etc/sysctl.conf

নতুন লাইন যুক্ত করুন এবং

fs.file-max = 65536

সংরক্ষণ করুন এবং প্রস্থান.

2.Step:

$ vi /etc/security/limits.conf

এবং উল্লিখিত নীচে যোগ করুন

* soft     nproc          65535
* hard     nproc          65535
* soft     nofile         65535
* hard     nofile         65535

সংরক্ষণ এবং প্রস্থান চেক সর্বাধিক ওপেন ফাইল ulimit

# ulimit -a

....
open files                      (-n) 65535

6

তবে আপনি যদি মারিয়াডিবি বা অন্য কিছু ( সিস্টেমড ব্যবহার করে ) এর মতো কোনও পরিষেবার খোলা ফাইলের সর্বাধিক সংখ্যা বাড়ানোর চেষ্টা করছেন তবে আপনাকে সরাসরি ফাইলটিতে করতে হবে serv

/lib/systemd/system/<servicename>.service

এরকম কিছু হবে:

[Unit]
Description=Some Daemon
After=syslog.target network.target

[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon

[Install]
WantedBy=multi-user.target

সম্পূর্ণ উত্তরটি এখানে: সেন্টোডস 7-এ সিস্টেমড দ্বারা প্রবর্তিত প্রক্রিয়াগুলির জন্য এনক্রপ বাড়ানো


systemdলিনাক্স বাস্তুসংস্থান জুড়ে এর চলমান পরিবর্তনগুলির সর্বব্যাপীতা বৃদ্ধি পাওয়ায় এটি উপরিউক্ত হওয়া প্রয়োজন । যদিও, আমি cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/প্যাকেজ দ্বারা সরবরাহিত সিস্টেম-ওয়াইড পরিষেবা ফাইলের চেয়ে উত্তরটি সম্পাদনা করার এবং সেই ফাইলটিতে পরিবর্তনগুলি করার পরামর্শ দেব ।
ILMostro_7

3

SUPLEMENT:

আপনি বিভিন্ন জায়গায় কনফিগারেশন পেতে পারেন: /etc/security/limits.d/*.conf

আমাকে এটি পরিবর্তন করতে হয়েছিল। এটি ছাড়া এটি কাজ করে না। ফর্ম্যাট হিসাবে হিসাবে একইlimits.conf


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