লিনাক্স কি মেমরি স্ক্রাব করতে পারে?


10

লিনাক্সের কি "স্ক্রাব" মেমরির ব্যবস্থা আছে? যেমন মেমোরি পরীক্ষা করা এবং চিহ্নিত স্থানগুলিকে নোংরা হিসাবে চিহ্নিত করা যদি তারা ব্যর্থ হয় তবে সিস্টেমটি "নিরাপদে" চালিয়ে যেতে পারে এমনকি খারাপ র‌্যাম চিপস ইনস্টল করাও ?!

উত্তর:


1

উত্তর হ্যাঁ, এবং এটি স্বচ্ছভাবে সম্পন্ন করা হয়েছে (যদি ত্রুটিগুলি সনাক্ত করার জন্য আপনার কাছে ইসিসি মেমরি থাকে এবং সুরক্ষিতভাবে চালিয়ে যাওয়ার জন্য আপনার কার্নেল সংস্করণ কমপক্ষে 2.6.30 হয়)।

মূলত, ত্রুটি সংশোধন কোডগুলি (ইসিসি) এর ধারাবাহিকতা পরীক্ষা করতে আপনার মেমোরিটি প্রসেসরের প্রতিটি পঠনে পরীক্ষা করা হয় এবং পর্যায়ক্রমে স্ক্রাব করা হয় *। যদি কোনও ত্রুটি ঘটে থাকে তবে আপনি একটি মেশিন চেক এক্সেপশন পাবেন, যা পরে লগইন এবং মেসেলগ দ্বারা ধরা হয়েছে ( http://www.mcelog.org/ )।

যদি আপনার ত্রুটিটি সঠিক ছিল, তবে এটি একটি "ফাঁস বালতি" কাউন্টারকে বাড়িয়ে তোলে, যার ফলে একটি শারীরিক ডিআইএমএম হয় যা প্রায়শই ব্যর্থ হয় যা স্বচ্ছভাবে অন্য একটি দ্বারা প্রতিস্থাপিত হয়। সুতরাং আপনার মেমোরি পৃষ্ঠাটি একটি নতুন স্থানে অনুলিপি করা হয়েছে, নতুন ভার্চুয়াল মেমরি ঠিকানাটি নতুন পৃষ্ঠায় দেখানোর জন্য আপডেট করা হয়েছে এবং পুরানো পৃষ্ঠাটি আর ব্যবহার করা হবে না বলে OS দ্বারা চিহ্নিত করা হয়েছে।

এটিকে লিনাক্সে "সফট-অফলাইনিং" বলা হয় (এবং সোলারিসের মেমরি পৃষ্ঠার অবসর, আমি অন্যান্য ওএস সম্পর্কে জানি না)।

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

আপনি মেসেলগ-এ আরও পড়তে পারেন, প্রচুর কনফিগারেশন অপশন রয়েছে, আপনি অন্যান্য আচরণগুলি ট্রিগার করা, বিকল্পগুলি এবং কী পড়তে হবে এবং কীভাবে আপনার সিস্টেমে মেসেলগ চলছে তা নিশ্চিত করার জন্য অন্যান্য লিড পেতে পারেন।


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


1
এটি কেবল তখনই প্রযোজ্য যদি আপনার কাছে আরও ব্যয়বহুল ইসিসি মেমরি থাকে।
psusi

এটি ইসিসি সহ সমস্ত স্মৃতিতে প্রযোজ্য। এটি সমতা হোন (তবে তারপরে আপনি সংশোধন করতে পারবেন না), এসইসিডিইডিড, আরও ব্যয়বহুল চিপকিল বা কোনও নতুন। ডিডিআর 1 ইতিমধ্যে ইসিসি বাস্তবায়ন করতে পারে তবে আপনি কোন প্রকৃত মডেলটি ব্যবহার করেন তার উপর নির্ভর করে। "বাড়ির" বাজারে resতিহ্যগতভাবে নমনীয়তার প্রয়োজন কম, তবে সুপার কম্পিউটারগুলি 20 বছরেরও বেশি সময় ধরে তাদের সাথে সজ্জিত রয়েছে - সার্ভারগুলি এর মধ্যে রয়েছে।
কেমবালি

1
আমি বুঝিয়েছিলাম ইসিসি মেমরিটি বেশি ব্যয়বহুল (ইসি নন) এর চেয়ে বেশি এবং তাই বেশিরভাগ লোকের কাছে এটি নেই।
psusi

1
ভাল "বেশিরভাগ লোক" বেশ অস্পষ্ট। বিনিয়োগ এবং বিদ্যুতের মূল্য প্রদান করা সাধারণ কিনা তা বাজারের উপর নির্ভর করে, যেমনটি আমি বলেছি। আমার গড় ডেল ল্যাপটপ, এটি এখন 2 বছর পুরানো, এতে সজ্জিত (মানক, কোনও বিশেষ বিকল্প জিজ্ঞাসা করা হয়নি)। এটি আরও এবং আরও সাধারণ হয়ে উঠছে, কারণ বৈশিষ্ট্যগুলির সংক্ষিপ্তকরণ ডিআইএমএমকে বিভিন্ন বিকিরণের জন্য আরও বোধগম্য করে তোলে।
Cimbali

1
কেমবালি, যারা "পেট্রল স্ক্র্যাব্বিং" করেন (ইসিসি মেমরিযুক্ত সিস্টেমে) - বায়োস ফার্মওয়্যার (সম্ভবত এসএমএম মোডে, স্বচ্ছভাবে ওএস কার্নেলের জন্য) বা কিছু সফ্টওয়্যার মোডে লিনাক্স কার্নেল (কোন মডিউলটি টহল স্ক্রাব করে)? ইসিসি মেমোরিটি ইসি-র পরিমাণগুলি যাচাই করে নি; ইসি চেক করতে, ডেটা অবশ্যই পড়তে হবে (এবং মেমরি নিয়ামকতে ইসিসি স্কিম যোগফল চেক করবে)। কিছু স্মৃতি প্রায়শই পড়ে থাকে (সিপিইউতে সাধারণ প্রোগ্রামগুলি দ্বারা), অন্য কোনওটি সপ্তাহের জন্য না পড়তে পারে। পেট্রল স্ক্রাবিং প্রতিদিন (ইন্টেল) বা প্রতি 1-48 ঘন্টা
ইসি

7

এটি আসলে একটি খারাপ ধারণা। মেমোরিটি দ্রুত ঝাড়ুতে নির্ভরযোগ্যভাবে পরীক্ষা করা যায় না। এ কারণেই মেমোস্টেস্ট like। এর মতো সফ্টওয়্যার মেমরির পরীক্ষার জন্য বিভিন্ন বিট প্যাটারগুলির সাথে একাধিক পাস ব্যবহার করে। সমাধান:

  1. মেমেস্টেস্ট with86 সহ টেস্ট মেমরিটি , বেশিরভাগ দীর্ঘ পরীক্ষা, এটি রাতারাতি চলতে দিন, এটি একটি দীর্ঘ সময় নিতে পারে।

  2. যদি খারাপ স্মৃতি সনাক্ত হয়, memmap কার্নেলকে সেই মেমরিটি ব্যবহার না করতে বাধ্য করতে কার্নেল প্যারামিটার ব্যবহার করুন:

   memmap = NN [KMG] $ এস এস [KMG]
            [কেএনএল, এসিপিআই] সংরক্ষিত হিসাবে নির্দিষ্ট মেমরিটিকে চিহ্নিত করুন।
            এসএস থেকে এসএসএন এনএন পর্যন্ত মেমরির অঞ্চল ব্যবহার করা উচিত।
            উদাহরণ: 0x18690000-0x1869ffff থেকে মেমরি বাদ দিন
                     memmap = 64K $ 0x18690000
                     অথবা
                     memmap = 0x10000 $ 0x18690000

তদতিরিক্ত, আপনি ইসিসি মেমরি ব্যবহার করতে পারেন যা 1-বিট ত্রুটিগুলি সংশোধন করবে এবং আপনার মেমরিতে 2 বিট ত্রুটি স্বয়ংক্রিয়ভাবে সনাক্ত করবে (এবং যদি কার্নেলের কাছ থেকে অকার্যকর মেমরির সমস্যা হয় তবে আপনি লগ বার্তা পাবেন)


এই কার্নেল পরামিতিগুলির টিপটির জন্য ধন্যবাদ। আপনি কি মনে করেন আপনি দয়া করে পরিষ্কার করতে পারেন যে এটি কেন এমন একটি খারাপ ধারণা এবং কেন আপনি মেমটেস্ট 86 ((+) হিসাবে একই পদ্ধতি ব্যবহার করে মেমরিটির একটি অংশ পরীক্ষা করতে পারবেন না? আমি সচেতন যে আরও নির্ভরযোগ্য পরীক্ষার জন্য আরও সিপিইউ সময় প্রয়োজন হয় (এবং সম্ভবত এক সাথে আরও বড় আকারের ভেড়া) তবে কেন এটি শো স্টপার হতে হবে? সিপিইউ সময় কোনও সমস্যা হতে পারে না যদি দীর্ঘ পর্যাপ্ত সময় জুড়ে ছড়িয়ে পড়ে এবং মাল্টি সিপিইউ আরও বেশি করে মূলধারার সূত্র ধরে থাকে।
ওয়াক্সহেড 21

প্রযুক্তিগতভাবে ভাল, যদি দীর্ঘ সময় ধরে করা হয় তবে এটি সম্ভব হতে পারে। তবে এখানে বাধাটি সিপিইউ (গুলি) নয়, মেমোরি বাস এবং অবশ্যই আপনি আপনার সিপিইউর স্মৃতি ক্যাশে "বিষ" দিয়েছেন। আমি এই জাতীয় কার্নেল মডিউল সম্পর্কে অবগত নই, এবং ধারণাটি আমার কাছে খুব ভঙ্গুর দেখাচ্ছে (একটি লাইভ সিস্টেমে মেমরির এক স্বেচ্ছাসেবী অঞ্চলে পুনরাবৃত্তি প্যাটার্ন
রাইটিংটি অর্কেস্ট্রেশন করা

হ্যামগ: প্রশ্ন: ভিএফএস এই সংরক্ষিত মেমরির জন্য পেজিং পরিচালনা করবে? আমি মনে করি এটি এটি দেখতে পাবে না হিসাবে এটি করতে পারে না।
জে ডি

1
@ ওয়াক্সহেড মেমোরি স্ক্রাবিং সাধারণত হার্ডওয়্যার ব্যবহার করে বিআইওএস পর্যায়ে করা হয়। সক্ষম থাকলে আপনার টহল স্ক্রাবিং এবং ডিমান্ড স্ক্রাবিংয়ের বিকল্পগুলি খুঁজে পাওয়া উচিত। যদি মেমরি অখণ্ডতা আপনার কাছে গুরুত্বপূর্ণ হয় তবে এটি অবশ্যই যদি আপনি ইসিসি মেমরি ব্যবহার করেন তবে এই বিকল্পগুলি সক্ষম করে ক্ষুদ্রতর পারফরম্যান্স হিট সার্থক।
ইয়ান

1
আমি মনে করি যে এখানে বাদাম কার্নেল মডিউলটির একটি উল্লেখ অন্তর্ভুক্ত করা আকর্ষণীয় হতে পারে । এটি আপনার প্রস্তাব অনুসারে স্মৃতিযুক্ত 86 ব্যবহার করে, তবে কার্নেলকে খারাপ মেমরি ব্যবহার করা থেকে বিরত রাখার পরিবর্তে এটি কার্নেলটি ব্যবহার না করার জন্য বরাদ্দ করে, কার্যকরভাবে গ্যারান্টি দেয় যে কার্নেল বা আপনার অ্যাপ্লিকেশনগুলি সেই স্মৃতিতে চলে না।
সিম্বালি

2

পোস্ট এবং উত্তর সমস্যাটিকে ভুল বুঝে। মেমোরি স্ক্রাবিং উদ্দেশ্যহীন দ্বৈত ত্রুটিগুলিকে রূপান্তরিত থেকে সংশোধনযোগ্য একক বিট ত্রুটিগুলি রাখা to স্ক্রাবারটি কেবলমাত্র সমস্ত শারীরিক স্মৃতি (কখনও কখনও ক্যাশে মিস করতে বাধ্য করে না)। যদি কোনও একক বিট ত্রুটি থাকে, তবে সেগুলি সংশোধন করা হবে (এবং সংশোধনটি অবশ্যই তুলনা-ও-সোয়াপ ব্যবহার করে সঠিক মানটি পুনরায় লিখতে হবে), ফলে ত্রুটিটি সাফ হয়ে যায়।

অন্যথায়, যদি ইতিমধ্যে একটি শব্দের মধ্যে একটি ত্রুটি থাকা একটি শব্দের মধ্যে দ্বিতীয় ত্রুটি দেখা দেয় তবে পুরো শব্দটি অননুমোদিত হয়ে যাবে এবং ওএসকে কঠোর কিছু করতে হবে।

স্ক্রাবিং গুরুত্বপূর্ণ কারণ এটি ছাড়া, মেমরি যা পড়া হয় তবে লিখিত হয় না (কোড পৃষ্ঠাগুলির মতো) সময়ের সাথে সাথে ত্রুটিও জমে থাকতে পারে।


আপনি যখন মনে করেন যে উত্তরটি উত্তর হিসাবে চিহ্নিত করা হয়েছে তখন বিষয়টি কেন বুঝতে পেরেছিল?
ডেভ

1
ডেভের জবাব সত্ত্বেও, ল্যারি বেশ সঠিক, উত্তরটি উত্তর দেয় / করে / ভুল বুঝে। EC H / w দ্বারা সংশোধনযোগ্য 2 বিট ত্রুটিগুলিতে রূপান্তরিত হওয়া থেকে একক বিট ত্রুটিগুলি সনাক্ত করা ও সংশোধন করতে লিনাক্স সতর্কতার সাথে ব্যাখ্যা করেছেন যে, লিনাক্স একটি মেমরি স্ক্রাব করতে পারে কিনা তা জিজ্ঞাসা করে। একটি সফ্টওয়্যার অ্যাপ্লিকেশন ব্যবহার করে এই ত্রুটিগুলি প্রথম স্থানে কীভাবে সনাক্ত করা যায় সে সম্পর্কে উত্তরটি আলোচনা করে।
ইয়ান

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

1

আপনার যদি ইসিসি মেমরি থাকে তবে আপনি https://www.kernel.org/doc/Docamentation/ABI/testing/sysfs-devices-edac এ ঘনিষ্ঠভাবে নজর রাখতে পারেন । (আমি বিশেষত আকর্ষণীয় "sdram_scrub_rate" পেয়েছি))

(যদি এই লিঙ্কটি কোনও মুহুর্তে ভেঙে যায় (এটি আসলে হওয়া উচিত নয়)) আমি উপযুক্ত লিনাক্স ডকুমেন্টেশনগুলি ডাউনলোড করার পরামর্শ দিয়েছিলাম এবং "স্ক্রাব" অনুসন্ধান করার পরামর্শ দিয়েছিলাম।)

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