লিনাক্স এবং অদলবদু স্থানে অবিচ্ছিন্নভাবে অদলবদলের আকার পুনরুদ্ধার করা হচ্ছে না?


10

আমার কাছে একটি 8 জিবি র‌্যাম লিনাক্স বাক্স রয়েছে যার উপর 4 টি টমক্যাট সার্ভার চলছে। এর মধ্যে একটি 3000MB মেমরি (jvm -Xms এবং -Xmx সেটিং) সেট করা আছে এবং অন্যদের 1500MB এ সেট করা হয়েছে। অদলবদল বিভাজনটি 8 জিগেও সেট করা আছে। আমি যখন এই সার্ভারগুলি শুরু করি তখন অদলবদলের ব্যবহার কম হয়। তবে বেশ কয়েকটি দিনের মধ্যে এবং নির্দিষ্ট সময়ে যখন / এক / সমস্ত সার্ভার চূড়ান্ত ক্রিয়ায় থাকে তখন অদলবদলের ব্যবহার বাড়তে শুরু করে increasing এখানে একটি সাধারণ সর-আউটপুট।

কেবিএমএমফ্রি কেবিমিউসড% স্মরণযুক্ত কেব্বুফার্স কেবিচেড কেবসওয়াইফফ্রি

48260 8125832 99.41 196440 2761852 7197688 1190912 14.20 316044

75504 8098588 198032 2399460 7197688 1190912 99.08 14.20 316032

এটি বর্তমানে ব্যবহৃত 14.2% অদলবদল দেখায়। মজার বিষয় হ'ল এই% কখনও হ্রাস পায় নাএটি 30-40% পর্যন্ত বৃদ্ধি এবং পৌঁছতে অবিরত রয়েছে । আমরা আমাদের সার্ভারগুলি সাপ্তাহিক পুনরায় চালু করি।

আমি ধরে নেব যে % তত্পরতার ক্রিয়াকলাপের সময় বৃদ্ধি পেয়েছে এবং নিম্ন ক্রিয়াকলাপের সময়কালে হ্রাস পেয়েছে ... বা কমপক্ষে স্থির থাকবে remain দেখে মনে হচ্ছে অদলবদল ওএস দ্বারা কখনই পুনরুদ্ধার করা যায় না ..

ফ্রি আউটপুট: ফ্রি-এম মোট ব্যবহৃত নিখরচায় ভাগ করে নেওয়া বাফার ক্যাশেড মেম: 7982 7937 45 0 32 2088 - / + বাফার / ক্যাশে: 5816 2166 স্ব্যাপ: 8191 1163 7028

সুতরাং কমপক্ষে 2 জি ফ্রি রাম রয়েছে। সুতরাং প্রশ্নটি হল যে অদলবদলের স্থানটি কেন বাড়ছে এবং ওএস দ্বারা পুনরুদ্ধার করা হচ্ছে না? বা কী ঘটছে তা বের করার জন্য এটি কীভাবে ডিবাগ করবেন ..

উত্তর:


12

যদি তথ্যটি ডিস্কে অদলবদল করা হয় এবং পরে স্মৃতিতে আবার পড়ে থাকে, অদলবদল কম রান না হওয়া অবধি এটিকে প্রায়শই সোয়াপ এরিয়াতে বরাদ্দ দেওয়া হবে। এর অর্থ হ'ল যদি একই তথ্য পরে আবার অদলবদল করা প্রয়োজন এবং পরিবর্তিত না হয় তবে ওএস ডিস্ক সেভিংয়ের সময় কিছু লেখার প্রয়োজন ছাড়াই বরাদ্দ র‌্যাম থেকে পৃষ্ঠাগুলি ফেলে দিতে পারে।

মেমরিতে ফিরে পড়া জিনিসগুলিতে বরাদ্দ হওয়া অদলবদই খালি মুক্তি পাবে

  1. যখন সম্পর্কিত পৃষ্ঠাগুলি আর প্রয়োজন হয় না (অর্থাত্ অ্যাপ্লিকেশন দ্বারা মুক্তি দেওয়া হয়)
  2. যখন সম্পর্কিত পৃষ্ঠাগুলি পরিবর্তন করা হয় (সুতরাং ডিস্কে অনুলিপিটি আর আপ টু ডেট থাকে না)
  3. মেশিনটি অদলবদলে কম চালায় তাই এমন কিছু জিনিস সাফ করে যা ইতিমধ্যে রুম তৈরির জন্য রয়েছে RAM

/proc/meminfo"অদলবদল করা" নামক একটি লাইনের জন্য সন্ধান করুন । এই এন্ট্রিটি এমন পৃষ্ঠাগুলি গণনা করে যা র‌্যাম এবং অদলবদল উভয় ক্ষেত্রেই পাওয়া যায়। উদাহরণস্বরূপ, এলোমেলোভাবে একটি ছোট ভিএম বাছাই করা, /proc/meminfoআমার ভিএমগুলির মধ্যে ভার্চুয়াল ফাইলটি দেখায়:

SwapTotal:        698816 kB
SwapFree:         624520 kB
SwapCached:        17232 kB

ইঙ্গিত করে যে 2৪২68৮ কে স্বাপের স্থান বরাদ্দ করা হয়েছে, তবে সেই পৃষ্ঠাগুলির ১ 17৩২২ কে মূল্যের র‌্যামেও ম্যাপ করা হয়েছে (যাতে অন্য কোনও কিছুর প্রয়োজনে স্থানটির প্রয়োজন হলে মুহুর্তের নোটিশে অদলবদল থেকে বিচ্ছিন্ন হতে পারে)।

এছাড়াও সেখানে কোনও সন্দেহ নেই যে পৃষ্ঠাগুলি সেখানে বসেছিল যা বহু বছর আগে অদলবদল হয়েছিল এবং এর পরে আর কখনও ব্যবহার করা হয়নি। কার্নেলটি কেবল অদলবদল থেকে পৃষ্ঠাগুলি পুনরায় লোড করবে না কারণ এটিকে আবার পড়ার জন্য কিছু ফ্রি র‌্যাম রয়েছে কারণ ফ্রি র‌্যাম ক্যাশে বা বাফারগুলির জন্য আরও ভালভাবে ব্যবহার করা যেতে পারে - অদলবদলে লেখা পৃষ্ঠাগুলি কেবল তখনই পুনরায় পুনরায় পড়তে হয় যখন সেগুলি পরবর্তী প্রয়োজন হয়।

যদি আপনি অদলবদলে কী থাকে তা পরিষ্কার করতে চান, যতক্ষণ না আপনার কাছে পর্যাপ্ত ফ্রি এবং / বা ফ্রিযোগ্য (যেমন ফ্রি + ক্যাশে + বাফার (সি + বি অংশের কম অংশগুলি যা নিখরচায় রাইটটিসআইনস্ট্যান্ট নয়)) কম করে রাখুন বন্ধ এবং সাথে আবার ফিরে swapoff -a && swapon -a

অবশ্যই আপনি কোথাও খুব স্মৃতি ফাঁস হতে পারে, কিন্তু আপনি যে আচরণটি দেখছেন তার একমাত্র ব্যাখ্যা এটি নয়।


দুর্দান্ত উত্তর। ধন্যবাদ। সুতরাং আমার সিস্টেমে বর্তমানে স্বাপটোটাল দেখায়: 8388600 কেবি স্বাপফ্রি: 7197688 কেবি সোয়াপকাড: 595724 কেবি তাই প্রকৃত সোয়াপ ফ্রি = 7197688 + 595724 = 7793412. অ্যাকুল স্বাপ ব্যবহৃত = 8388600 - 7793412 = 595188 == 581 এমবি। আমি অনুমান করি যে ৫৮ টি এমবি চলছে এমন GB জিবি সিস্টেমের জন্য 1৮১ এমবি স্বাপ ফাইলের ব্যবহার যুক্তিসঙ্গত। আমি পরের দু'দিন এটি পর্যবেক্ষণ করি এবং দেখুন যে অদলবদল চিত্রটি আনুপাতিক হারকে% স্ব্যাপ ইউজডে বাড়িয়ে রাখছে কিনা।
জেনিল

2

মূলত, আপনার এ সম্পর্কে যত্ন নেওয়া দরকার না। আইও কতটা অদলবদলে যায় তা জানতে গুরুত্বপূর্ণ ('ভিএমস্ট্যাট' কমান্ডটি দেখুন)। অদলবদলে আরও বেশি জিনিস রাখার জন্য কোনও দাম নেই। একমাত্র ব্যয় হ'ল অদলবদুতে (পেইজ ইন) স্টাফ লাগানো বা এটি বের করে নেওয়া (পৃষ্ঠা আউট)। সুতরাং ওএসের পক্ষে অদলবদল বাড়তে দেওয়া একেবারে যুক্তিযুক্ত।


1
অদলবদ কেন বেড়ে চলেছে এবং কখনই হ্রাস পাচ্ছে তা খুঁজে বের করা গুরুত্বপূর্ণ ... আমরা যদি আমাদের সার্ভারগুলিকে কয়েক সপ্তাহ ধরে চলতে দেব তবে কী হবে? অদলবদল সীমা ছাড়িয়েও বাড়বে এবং মেমরির সমস্যার ফলে? সোয়াপিন / অদলবদলকে "যুক্তিসঙ্গত" দেখায় .. পিক ক্রিয়াকলাপের সময় উচ্চ সোয়াপিন / সোয়াপআউট থাকে (এবং% স্বাপযুক্ত বৃদ্ধিও হয়) .. সাধারণ সময়কালে সোয়াপিন / অদলবদল ন্যূনতম হলেও% স্বাপযুক্ত কমছে না
জেনিল

0

যতক্ষণ আপনার অদলবদল উপলব্ধ থাকে ততক্ষণ ওএসের জন্য অদলবদল মুক্ত করার দরকার নেই। কোনও স্থান বাকি না থাকলে এটিকে মুক্তি দেওয়া হবে। আপনি যখন এই পরিস্থিতিতে পাবেন তখন অবশ্যই আপনার একটি সমস্যা হবে।


0

আপনি কোনও সার্ভার চালিয়ে না চালিয়ে যদি এটি কোনও সমস্যা হয়ে যায় কিনা তা দেখার জন্য দীর্ঘসময় এটি কোনও সমস্যা হয়ে যায় কিনা তা বলার উপায় নেই।

মূলত কোনও নতুন প্রোগ্রাম শুরু হওয়ার ক্ষেত্রে, ওএস কিছু এমন স্মৃতিশক্তি মুক্ত রাখতে সর্বদা ব্যবহার করা হচ্ছে না এমন জিনিসগুলি অদলবদল করবে। এটি প্রয়োজন না হওয়া পর্যন্ত অদলবদল স্থান মুক্ত করা হবে না, এর অর্থ আপনার 100% অদলবদল ব্যবহৃত হতে পারে এবং কোনও কার্যকারিতা সংক্রান্ত সমস্যা নেই। চিন্তার বিষয় হ'ল এটি যদি কোনও স্মৃতি ফাঁস হওয়ার কারণে ঘটে। এটি অগত্যা কোনও স্মৃতি ফাঁস নয় তবে তা হতে পারে।

জাভা মেমরি ফাঁস হওয়ার ঝুঁকিপূর্ণ নয়, তবে বিশেষত জটিল অ্যাপ্লিকেশনগুলির সাথে এটি ঘটতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.