আমি লিনাক্স ট্যাগের জবাব দিচ্ছি । আমার উত্তরটি কেবল লিনাক্সের ক্ষেত্রে নির্দিষ্ট ।
হ্যাঁ, বিশাল পৃষ্ঠাগুলি খণ্ডিত হওয়ার প্রবণতা বেশি। মেমোরির দুটি মতামত রয়েছে, একটি আপনার প্রক্রিয়াটি (ভার্চুয়াল) পায় এবং একটি কার্নেল পরিচালনা করে (বাস্তব)। যে কোনও পৃষ্ঠা বৃহত্তর, তার প্রতিবেশীদের দলবদ্ধ করা (এবং এটির সাথে রাখা) হতে আরও বেশি কঠিন হতে পারে, বিশেষত যখন আপনার পরিষেবাটি এমন কোনও সিস্টেমে চলছে যেগুলি অন্যকে সমর্থন করে যে ডিফল্টরূপে এগুলির চেয়ে বেশি মেমোরি বরাদ্দ করে এবং লিখতে হয় আসলে ব্যবহার শেষ।
প্রদত্ত ঠিকানাগুলির কার্নেলের ম্যাপিং ব্যক্তিগত (ব্যক্তিগত)। কার্নেলগুলি তাদের উপস্থাপিত করে ব্যবহারকারীক্ষেত্রগুলি এগুলি দেখার জন্য একটি খুব ভাল কারণ রয়েছে কারণ কার্নেলটি ব্যবহারকারী স্পেসকে বিভ্রান্ত না করে ওভারকমিট করতে সক্ষম হতে হবে। আপনার প্রক্রিয়াটি একটি সুন্দর, সংলাপযুক্ত "ডিজনিফাইড" ঠিকানা স্থান পেয়েছে যেখানে কাজ করতে হবে, পর্দার আড়ালে সেই স্মৃতিটি দিয়ে কর্নেল আসলে কী করছে তা অবহেলা করে।
দীর্ঘ চলমান সার্ভারগুলিতে আপনি নিম্নমানের পারফরম্যান্সের কারণটি সম্ভবত সম্ভবত কারণ বরাদ্দকৃত ব্লকগুলি স্পষ্টভাবে লক করা হয়নি (যেমন mlock()
/ mlockall()
অথবা posix_madvise()
) এবং কিছুক্ষণের মধ্যে সংশোধন না করা হয়েছে পেজ আউট হয়ে গেছে , যার অর্থ যখন আপনার পরিষেবাটি পড়তে হবে তখন ডিস্কে চলে যেতে পারে তাদের। এই আচরণটি পরিবর্তন করা আপনার প্রক্রিয়াটিকে খারাপ প্রতিবেশী করে তোলে , এ কারণেই অনেকে তাদের আরডিবিএমএসকে ওয়েব / পিএইচপি / পাইথন / রুবি / যাই হোক না কেনের থেকে সম্পূর্ণ আলাদা সার্ভারে রাখে। বুদ্ধিমানভাবে এটি ঠিক করার একমাত্র উপায় হ'ল সংকীর্ণ ব্লকের প্রতিযোগিতা হ্রাস করা।
খণ্ডগুলি কেবল সত্যই লক্ষণীয় (বেশিরভাগ ক্ষেত্রে) যখন পৃষ্ঠা এ মেমরিতে থাকে এবং পৃষ্ঠা বিটি অদলবদলে চলে যায়। স্বাভাবিকভাবেই, আপনার পরিষেবাটি পুনরায় চালু করা এটি "নিরাময়" বলে মনে হবে তবে কেবল কার্নেলটি এখনও তার অতিরিক্ত সংখ্যার অনুপাতের সীমানায় সদ্য বরাদ্দকৃত ব্লকগুলি প্রক্রিয়াটি বের করার সুযোগ পায়নি।
প্রকৃতপক্ষে, উচ্চ লোডের অধীনে 'অ্যাপাচি' পুনরায় শুরু করা (সম্ভবত বলুন) সম্ভবত অন্যান্য পরিষেবাদির মালিকানাধীন ব্লকগুলি সরাসরি ডিস্কে প্রেরণ করতে চলেছে। সুতরাং হ্যাঁ, 'অ্যাপাচি' অল্প সময়ের জন্য উন্নতি করবে, তবে 'মাইএসকিএল' ভুগতে পারে .. কমপক্ষে যতক্ষণ না কেবল শারীরিক স্মৃতিশক্তির অভাব থাকে তখন কার্নেল তাদের সমানভাবে ক্ষতিগ্রস্থ না করে until
আরও স্মৃতি যুক্ত করুন, বা দাবিদার malloc()
গ্রাহকরা বিভক্ত করুন :) এটি কেবল খণ্ডন নয় যা আপনার দিকে নজর দেওয়া দরকার।
vmstat
আসলে কোথায় সংরক্ষণ করা হচ্ছে তার একটি ওভারভিউ পাওয়ার চেষ্টা করুন ।