ক্ল্যামএভিভিতে ক্লাসিক স্ট্রিং (বায়ার মুর) এবং নিয়মিত এক্সপ্রেশন (আহো করাসিক) অ্যালগোরিদম ব্যবহার করে অনুসন্ধানের স্ট্রিং রয়েছে। 1970 এর দশক থেকে অ্যালগরিদম হওয়ায় তারা বাহ্যিক স্মৃতিশক্তি দক্ষ।
সমস্যাটি হ'ল বিপুল সংখ্যক ভাইরাস স্বাক্ষর। এটি আলগোরিদিমগুলির ডেটাস্ট্রাকচারগুলি বেশ বড় আকার ধারণ করে।
আপনি সেই ডেটাস্ট্রাকচারগুলি অদলবদলে পাঠাতে পারবেন না, কারণ অ্যালগরিদমের ডেটাস্ট্রাকচারের কোনও অংশ অন্যান্য অংশের তুলনায় কম অ্যাক্সেস পাওয়া যায়। যদি আপনি তাদের পৃষ্ঠাগুলিকে ডিস্কের অদলবদল করতে বাধ্য করেন তবে কিছুক্ষণ পরে সেগুলি উল্লেখ করা হবে এবং সরাসরি সোজা ফিরে ফিরে আসবেন Techn (প্রযুক্তিগতভাবে আমরা বলেছি "ডাটাস্ট্রিক্টের এলোমেলো অ্যাক্সেস পুরো ডেটাস্ট্রাকচারকে প্রক্রিয়াটির মেমরির কার্যক্ষম সেট হতে বাধ্য করে "।)
আপনি যদি কমান্ড লাইন থেকে স্ক্যান করে বা ডেমন থেকে স্ক্যান করছেন তবে ডেটাস্ট্রাকচারগুলির প্রয়োজন are
আপনি ভাইরাস স্বাক্ষরগুলির কেবলমাত্র একটি অংশ ব্যবহার করতে পারবেন না, কারণ আপনাকে কোন ভাইরাস প্রেরণ করা হবে তা চয়ন করতে না পারলে এবং আপনাকে কোন স্বাক্ষরের প্রয়োজন হবে তা বলতে পারে না।
এখানে দেবিয়ান হুইজি চালিত 32-বিট মেশিনে ব্যবহৃত স্মৃতিটি রয়েছে এবং এটি ক্ল্যামড।
# ps_mem.py
Private + Shared = RAM used Program
281.7 MiB + 422.5 KiB = 282.1 MiB clamd
সম্পাদনা: আমি দেখছি যে কেউ বাসিন্দার সেট আকার নির্ধারণ করার পরামর্শ দিচ্ছে। যদি এটি সফল হয় তবে কার্যনির্বাহী আকারের চেয়ে আবাসিক সেট আকার কম রাখলে প্রক্রিয়াটি অদলবদলে এবং থেকে ছিটকে যায়। এটি পুরো সিস্টেমের কর্মক্ষমতা যথেষ্ট পরিমাণে হ্রাস করবে। যাই হোক না কেন setrlimit (RLIMIT_RSS, ...) এর জন্য লিনাক্স ম্যানুয়াল পৃষ্ঠাটি বলে যে আবাসিক সেট আকার নির্ধারণ করা আর সমর্থিত নয় এবং যে প্রক্রিয়াগুলিতে ম্যাডভাইস (MADV_WILLNEED, ...) না বলা বেছে নিয়েছিল তার কোনও প্রভাব পড়েনি।