আমি মনে করি এটি তেমন অস্বাভাবিক সমস্যা নয়: একটি প্রক্রিয়া প্রচুর পরিমাণে মেমরি বরাদ্দ করে (এটি মেমরি-ফাঁস বাগের কারণে হয়, কারণ আপনি একটি বড় বড় ইনপুট ফাইল, বা যা-ই হোক না কেন প্রক্রিয়া করার চেষ্টা করছেন)। র্যামটি পূর্ণ হয় এবং কোনও সময়ে লিনাক্সকে অদলবদল করতে হবে। ঠিক আছে, কখনও কখনও এটি কেবল সর্বশেষ অবলম্বন: আমার যদি কোনও ব্যয়বহুল গণনা চলতে থাকে তবে শেষ পর্যন্ত যদি আমি র্যামের বাইরে চলে যাই তবে আমি ডেটা হারাতে চাই না।
বরং আরও প্রায়ই তবে (আমার অভিজ্ঞতার সাথে), দুর্বৃত্ত, সম্ভবত বগী প্রক্রিয়া দ্বারা মেমরির ব্যবহারটি সীমাহীন। উদাহরণস্বরূপ, আমি কেবলমাত্র অল্প অল্প মাত্রায় প্রয়োজনীয় ডেটা অদলবদানে স্থানান্তরিত করে শেষ করি না , তবে ওএস প্যানেলিকভাবে ডেটা লোড করার জন্য বাধ্য হয়। এবং এটি দুর্ভাগ্যক্রমে কেবল আক্রমণাত্মক প্রক্রিয়াটি খুব বেশি ভাঙ্গেনি, পুরো সিস্টেমটিকে প্রায় স্থবির করে তুলতে পারে (এসএসডি সহ মেশিনে এটি এতটা খারাপ নয়) তবে ওটিওএইচ এটি আমাকে চিন্তিত করে তোলে যে গিগাবাইট এবং গিগা বাইট জঞ্জাল ডেটা লিখতে পারে কিনা দীর্ঘমেয়াদী ফ্ল্যাশ কোষের ক্ষতি করে)।
যতক্ষণ না আমি সমস্যাটি লক্ষ্য করি এবং ম্যানুয়ালি প্রক্রিয়াটি শেষ করি না (একবারে আমি নিজে নিজে ভার্চুয়াল টার্মিনালটিতে লগইন না করা পর্যন্ত এটি কয়েক মিনিট সময় নেয়!), আমার অর্ধেক চলমান অধিবেশন অদলবদল হয় এবং সিস্টেমটি মসৃণ না হওয়া পর্যন্ত আমাকে বেশ কিছুক্ষণ অপেক্ষা করতে হবে আবার।
সমস্যাটির একটি মাত্রাতিরিক্ত সমাধান রয়েছে: একটি হার্ড মেমরি সীমা প্রয়োগ করুন। তবে এই সিস্টেম-ব্যাপী কাজটি করার ফলে মাঝে মাঝে আমার প্রক্রিয়াগুলি বরং নষ্ট হয়ে যায় এবং যদি ulimit
কোনও আপত্তিজনক প্রক্রিয়া শুরুর আগে যদি আমাকে ম্যানুয়ালি করতে হয় ... ভাল, আমি প্রায়শই ভুলে যাব যতক্ষণ না এটি খুব দেরী হয়।
সম্ভাব্য ধরণের সমাধানের সাথে আমি আরও সুখী হব:
- যদি কোনও প্রক্রিয়া একটি নির্দিষ্ট মেমোরির ব্যবহার ছাড়িয়ে যায় তবে এটি কৃত্রিমভাবে থ্রোটলড হয় যাতে সিস্টেমের বাকী অংশ প্রতিক্রিয়াশীল থাকে।
- যদি কোনও প্রক্রিয়া একটি নির্দিষ্ট মেমোরির ব্যবহার ছাড়িয়ে যায়, তবে এটি পরে চলছে
SIGSTOP
তাই আমার কী করতে হবে তা বের করার সময় পাবে। - যদি কোনও প্রক্রিয়া র্যামের সীমাতে পৌঁছে যায়, দুর্দান্ত অদলবদল শুরু হওয়ার আগে আমি একটি সতর্কতা পাই ।
এই ধরনের আচরণ, বা অনুরূপ পাওয়ার কোনও উপায় আছে কি?
ulimit
জন্য।