আপনি যে সমস্যার সমাধান করতে চান তা অনুমান করছি যে আপনার বাক্সে এমন কিছু প্রক্রিয়া চলছে যা কখনও কখনও দুর্ব্যবহার করে এবং চিরকালের জন্য একটি মূল পেগিং করে বসে।
আপনি প্রথমটি যা করতে চান তা হ'ল উন্মাদ হয়ে যাওয়া প্রোগ্রামটি ঠিক করার চেষ্টা করা। এটি এখন পর্যন্ত সেরা সমাধান। আমি ধরে নিচ্ছি যে এটি সম্ভব নয়, বা আপনার বাক্সটি ঠিক না হওয়া অবধি চালিয়ে রাখতে আপনার একটি দ্রুত ক্লুজ প্রয়োজন।
আপনি, ন্যূনতমভাবে, আপনার স্ক্রিপ্টটি কেবলমাত্র সেই সম্পর্কিত একটি প্রোগ্রামে সীমাবদ্ধ করতে চান যা আপনি উদ্বিগ্ন। অনুমতিগুলি যদি আপনার স্ক্রিপ্টটিকে এভাবে সীমাবদ্ধ করে রাখে তবে তা সর্বোত্তম হবে (যেমন, আপনার স্ক্রিপ্টটি এক্স এক্স হিসাবে চালিত হয়, এক্স হিসাবে চলমান কেবলমাত্র অন্য জিনিসটি প্রোগ্রামটি))
এমনকি ulimit -t
সিপিইউর যে পরিমাণ সময় প্রোগ্রামটি ব্যবহার করতে পারে তার পরিমাণ সীমাবদ্ধ করার মতো কিছু ব্যবহার করা আরও ভাল । একইভাবে, যদি এটি সমস্ত স্মৃতি গ্রহণ করে তবে চেক করুন ulimit -v
। কার্নেল এই সীমাগুলি প্রয়োগ করে; bash
বিশদটির জন্য ম্যানপেজ (এটি একটি অন্তর্নির্মিত শেল) এবং setrlimit(2)
ম্যানপেজ দেখুন।
যদি সমস্যাটি আমোক চলমান প্রক্রিয়া না হয় তবে এর পরিবর্তে কেবলমাত্র অনেকগুলি প্রক্রিয়া চলমান থাকে, তবে এক্স এর চেয়ে বেশি চালানো থেকে রক্ষা পেতে কিছুটা লক প্রয়োগ করুন (বা — এটি পরিচিত হওয়া উচিত — ulimit -u
)। আপনি সেই প্রক্রিয়াগুলির (সিলেক্টর ) nice
বা পূর্বনির্ধারিত অগ্রাধিকারটি পরিবর্তন করতে renice
বা ব্যবহারের sched_setscheduler
নীতিটি পরিবর্তন করতেও বিবেচনা করতে পারেন SCHED_IDLE
।
আপনার যদি আরও বেশি নিয়ন্ত্রণের প্রয়োজন হয় তবে একটি কন্ট্রোল গ্রুপ (সিগ্রুপ) দেখুন। আপনি যে কার্নেলটি চালাচ্ছেন তার উপর নির্ভর করে আপনি সিপিইউ সময়, মেমরি, আই / ও, ইত্যাদির পরিমাণ সীমাবদ্ধ করতে পারেন যা পুরো গোষ্ঠী একসাথে প্রক্রিয়াজাত করে। নিয়ন্ত্রণ গ্রুপগুলি বেশ নমনীয়; কোনও ভঙ্গুর ক্লুজেজ ছাড়াই তারা সম্ভবত আপনি যা করার চেষ্টা করছেন তা করতে পারে। আরআর লিনাক্স উইকির সিগ্রুপগুলির জন্য একটি ভূমিকা রয়েছে যা পড়ার মতো, যেমন এলডাব্লুএন-এর নীল ব্রাউনয়ের সিগ্রুপ সিরিজ ।
while [ 1 ]
এই স্ক্রিপ্টটি একা কতটা সিপিইউ গ্রহণ করবে তা আমাকে অবাক করে দেয়। এছাড়াও,kill -9
একটি স্ক্রিপ্টে নিয়মিত 3 টি কল আসে ? এটি আমাকে