উওন্টু 16.04 এ ইনোটিফাই ঘড়ির ব্যবহারকারীর সীমা পৌঁছেছে


43

আমি সবেমাত্র উবুন্টু 16.04 ইনস্টল করেছি এবং আমি স্মার্টগিট শুরু করার সাথে সাথে এই সতর্কতাটি পেয়েছি :

IOException: User limit of inotify watches reached

তদুপরি আমি এই সতর্কতা প্রবর্তনটি পেয়েছি tail -f:

tail: inotify resources exhausted 

tail: inotify cannot be used, reverting to polling

আমি উবুন্টু ১৪.০৪ এর সাথে এই ত্রুটিটি কখনই পাই না এবং আমি নতুন উবুন্টুতে যে অ্যাপ্লিকেশন এবং ফাইলগুলি ব্যবহার করছি তা আগের সংস্করণে আমি একইভাবে ব্যবহার করছি।

কেবলমাত্র প্রাসঙ্গিক পার্থক্যগুলি হ'ল আমি পিসিতে একটি অতিরিক্ত হার্ড ডিস্ক যুক্ত করেছি এবং আমি উবুন্টুর ব্যাকআপ সরঞ্জামটি কনফিগার করেছি। এই সমস্যাটি কি দ্বিতীয় ডিস্কের সাথে বা ব্যাকআপ সরঞ্জামের সাথে সম্পর্কিত হতে পারে?


উত্তর:


76

জেনিয়ালের বর্তমান ডিফল্টটি 8192 (কার্নেলের উত্সে fs / notify / inotify / inotify_user.c দেখুন), আপনি স্টাডাউটে ফাইলটি মুদ্রণ করে এটি যাচাই করতে পারেন:

cat /proc/sys/fs/inotify/max_user_watches
8192

আপনি সংখ্যাটি গুছিয়ে নিতে পারেন, উদাহরণস্বরূপ, এটি 16384 এ দ্বিগুণ করে:

echo 16384 | sudo tee /proc/sys/fs/inotify/max_user_watches

মনে রাখবেন যে ইনোটাইফাই ঘড়িগুলি স্মৃতি গ্রহন করে, আমি মনে করি এটি 64 বিট সিস্টেমে প্রতি ঘড়ি 160 বাইট।

এটি স্থায়ীভাবে সেট করতে, /etc/sysctl.conf এ একটি এন্ট্রি যুক্ত করুন, উদাহরণস্বরূপ:

echo fs.inotify.max_user_watches=16384 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

.. অথবা ম্যানুয়ালি সম্পাদনা করুন /etc/sysctl.conf(এটি আপডেট করার জন্য আপনাকে মূল অধিকারগুলির প্রয়োজন) এবং তারপরে চালানsudo sysctl -p


হ্যাঁ, আপনাকে ধন্যবাদ. আমি এটি দ্বিগুণ করেছি এবং এখন আমার আর সতর্কতা নেই। 16.384 ঘড়ির জন্য কত মেমরি (সর্বোচ্চ) ব্যবহার করা হবে? আমার হিসাবগুলি আমাকে কম বেশি 2.5MB দেয় । এটা কি ঠিক?
আন্দ্রেয়া

ক্রমে কিছু, আরও কিছু ওভারহেড; জিনিসগুলির দুর্দান্ত পরিকল্পনায় এটি খুব বেশি বড় নয়
কলিন ইয়ান কিং

এখান থেকে (ব্যবহৃত) সম্ভব মেমরির খরচ আরো কিছু তথ্য ঘড়ির এর askubuntu.com/questions/154255/...
মাইকেল

11

উপরের উত্তরগুলি দুর্দান্ত কাজ করে তবে এটি ব্যাখ্যা করে না যে আমি এখানে কেন পুরো উত্তরটির জন্য আমার চেষ্টাটি ঘুরে দেখছিলাম -

কেন?

প্রোগ্রামগুলি যেগুলি ড্রপবক্স, গিট ইত্যাদির মতো ফাইলগুলি সিঙ্ক করে তা ফাইল সিস্টেমে পরিবর্তনগুলি লক্ষ্য করার জন্য অযাচিত ব্যবহার করে। সীমাটি দ্বারা দেখা যাবে -

cat /proc/sys/fs/inotify/max_user_watches

আমার জন্য, এটি 100000 দেখায় । যখন এই সীমাটি কোনও ডিরেক্টরিতে থাকা সমস্ত ফাইল নিরীক্ষণ করার জন্য যথেষ্ট না হয় তখন এটি এই ত্রুটিটি ছুঁড়ে দেয়।


ইনোটিফাই পর্যবেক্ষকদের পরিমাণ বাড়িয়ে দেওয়া (সংক্ষিপ্ত সংস্করণ):

আপনি যদি ডেবিয়ান, রেডহ্যাট, বা অন্য একটি অনুরূপ লিনাক্স বিতরণ চালাচ্ছেন তবে নিম্নলিখিতটি কোনও টার্মিনালে চালান:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

আপনি যদি আর্চলিনাক্স চালাচ্ছেন , পরিবর্তে নিম্নলিখিত কমান্ডটি চালান (কেন তা এখানে দেখুন):

echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system

তারপরে এটি আপনার টার্মিনালে পেস্ট করুন এবং এটি চালানোর জন্য এন্টার টিপুন।


প্রযুক্তিগত বিবরণ:

পরিবর্তনের জন্য ডিরেক্টরিগুলি নিরীক্ষণ করতে লিনাক্সে ডিফল্টরূপে অযৌক্তিকভাবে ব্যবহার শোনো। আপনি যে ফাইলগুলি পর্যবেক্ষণ করতে পারেন তার সংখ্যার কোনও সিস্টেমের সীমাবদ্ধতার মুখোমুখি হওয়া অস্বাভাবিক নয়। উদাহরণস্বরূপ, উবুন্টু লুসিডের (64 বিট) ইনোটিফাই সীমাটি 8192 এ সেট করা আছে।

কার্যকর করে আপনি আপনার বর্তমান ইনোটিফাই ফাইল ঘড়ির সীমা পেতে পারেন:

$ cat /proc/sys/fs/inotify/max_user_watches

এই সীমাটি যখন কোনও ডিরেক্টরিতে সমস্ত ফাইল নিরীক্ষণ করার জন্য পর্যাপ্ত না হয়, শ্রুত সঠিকভাবে কাজ করার জন্য এই সীমাটি বাড়ানো উচিত।

আপনি এটির মাধ্যমে অস্থায়ীভাবে একটি নতুন সীমা নির্ধারণ করতে পারেন:

$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p

আপনি যদি নিজের সীমা স্থায়ী করতে চান তবে ব্যবহার করুন:

$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p

যদি শুনুন অভিযোগ করা অব্যাহত রাখে তবে আপনাকে ম্যাক্স_কিউড_ভেনভেটস এবং ম্যাক্স_উজার_সিন্টসের মানগুলিতেও মনোযোগ দেওয়ার প্রয়োজন হতে পারে।

সূত্র: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-Watchers


3

আপনি বিদ্যমান সীমাটি যাচাই করতে পারেন এবং এর ভিত্তিতে আপনি এটি আপনার প্রয়োজনীয়তা অনুযায়ী পরিবর্তন করতে পারবেন

To Check : cat /proc/sys/fs/inotify/max_user_watches To Alter : sudo sysctl fs.inotify.max_user_watches=524288

এটি ত্রুটির সমাধান করবে।

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