আমি কীভাবে অন্য ব্যবহারকারীর জন্য ওলিমিট চেক করব এবং খোলা ফাইলগুলি পরিবর্তন করব?


18

গিয়ারম্যান ব্যবহারকারী হিসাবে আমার একটি প্রক্রিয়া চলছে এবং open filesএই বাজে ত্রুটিটি এড়াতে আমি পরিবর্তন করতে চাই :

ত্রুটি 2014-09-12 17: 49: 14.000000 [মূল] স্বীকার করুন (প্রচুর পরিমাণে উন্মুক্ত ফাইল) -> লিবিজারম্যান-সার্ভার / গিয়ারম্যান্ড.সি: 788

আমি কীভাবে উবুন্টুতে অন্য ব্যবহারকারী হিসাবে ওলিমিট চালাতে পারি এবং খোলা ফাইলগুলি পরিবর্তন করতে পারি? আমি বর্তমানে গিয়ারম্যান হিসাবে লগইন করি না তবে আমার কাছে রুট অ্যাক্সেস রয়েছে। আমি এটি করার চেষ্টা করেছি:

su gearman --shell /bin/bash --command "ulimit -n"

এখানে প্রস্তাবিত হিসাবে কিছুই পাওয়া যায় না:

$ su gearman --shell /bin/bash --command "ulimit -n"
Password: 
$

উত্তর:


25

গুগল অনুসন্ধানের সময় আমি এটির পিছনে হোঁচট খেয়েছি এবং টনির মন্তব্যটি দরকারী বলে খুঁজে পেয়েছি কারণ এটি আবার দেখা হচ্ছে : যদিও এটি সত্য যে প্রক্রিয়া স্তরে সীমাবদ্ধতা রাখা হয়েছে, নির্দিষ্ট ব্যবহারকারীর জন্য আপনি যেভাবে সীমা নির্ধারণ করবেন তা হ'ল তারা যে প্রক্রিয়াগুলি শুরু করেছে তা সন্ধান করুন এবং তারপরে পরীক্ষা করুন proc/${id}/limits

বিশেষ করে:

$ ps -u username  # look up processes owned by user
$ sudo grep 'open files' /proc/${id}/limits  # find "Max open files" line for process ID

2
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত, এটি ডেবিয়ানের রেডিস ব্যবহারকারীর জন্য বর্তমান উলিমিটটি সন্ধান করতে ব্যবহার করা উচিত।
থোলু

6

আপনি যখন ulimitকমান্ডটি চালনা করেন এটি কেবল চালিত প্রক্রিয়া ulimit(শেল) এবং সমস্ত উপ- প্রক্রিয়াগুলিকে প্রভাবিত করে । সুতরাং আপনি যখন চালান bash --command "ulimit -n", এটি কেবলমাত্র ব্যাশের সেই দৃষ্টান্তের জন্য মুক্ত ফাইলগুলির সংখ্যাকে প্রভাবিত করে, তারপরে ব্যাশ প্রস্থান করে, সুতরাং ভবিষ্যতের প্রক্রিয়াগুলি প্রভাবিত হয় না।

সুতরাং আপনি যা চান তা সম্পাদন করতে (আপনার আসল প্রক্রিয়ার জন্য উন্মুক্ত ফাইলের সীমা limits.confবাড়ানোর জন্য) আপনার নির্দিষ্ট গিয়ারম্যান ব্যবহারকারীর জন্য উন্মুক্ত ফাইলের সীমাটি বাড়ানোর জন্য এটি সম্পাদনা করা সম্ভবত আরও বোধগম্য ।

সীমাবদ্ধতার উদাহরণ দেখুন অন্য কোথাও বা এখানে


এটিই আমি খুঁজে পেয়েছি তবে এটি "কার্যকর হয়েছে কিনা" তা পরীক্ষা করতে সক্ষম হতে চাই love আমার আর সমস্যা হচ্ছিল না তাই আমি নিশ্চিত যে এটি হয়েছে
টনি

10
এইভাবে আপনি যাচাই করেন more /proc/<proc_id>/limits ... উত্তর যোগ করার মতো সম্ভবত
টনি

5
সীমাবদ্ধতাগুলির অবস্থান উল্লেখ করার পক্ষেও যথাযথ:/etc/security/limits.conf
ক্রিক

1

ব্যবহার করার চেষ্টা করুন su - <USERNAME> -c ulimit' -Hn'। আমি এটি কেবলমাত্র সেন্টেন্টস on এ পরীক্ষা করেছি এবং এটি কাজ করে।


1
<USERNAME>লগইন করতে অক্ষম হলে এটি কাজ করবে না (নোলোগিন শেল রয়েছে)।
dr01
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.