zram vs zswap বনাম zcache চূড়ান্ত গাইড: কখন কোনটি ব্যবহার করবেন


55
  1. এরা কি রে? এগুলি কীভাবে আলাদা (আমি নীচের উত্তরে আমার বোঝার কথা লিখেছি)
  2. Zswap সিস্টেমে, যখন কোনও পৃষ্ঠা zswap থেকে প্রকৃত অদলবদল থেকে উচ্ছেদ করা হয় তখন এটি কোনও সংকোচনে সংরক্ষণ করা হয়? (বা এটি সংরক্ষণের আগে সংকোচিত হয় ?, এটি এখনও সংকুচিত কিন্তু আমি নিশ্চিত হতে পারি না)
  3. জেকেশের বর্তমান অবস্থা কী? এটি স্পষ্টতই অপসারণ করা হয়েছিল বা 3.11-এ। এটার মানে কি? ( http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=96256460487387d28b8398033928e06eb9e428f7 )

2
উত্তর ২. প্রতিশ্রুতিবদ্ধ বার্তায় স্পষ্টভাবে বলা হয়েছে যে প্যাচগুলি (জ্যাচাচি সম্পর্কিত) 3.11 থেকে সরিয়ে ফেলা হয়েছে, তবে মূল-মিমি গাছের মধ্যে অন্তর্ভুক্ত করা হবে।
জিজ্ঞাসা

1
@ স্ট্যাটিক আপনি নিজের উত্তরটি কেন গ্রহণ করলেন না? ইহা খুব ভালো!
লিও লোপোল্ড হার্টজ 준영

যখন কোনও পৃষ্ঠাটি zswap (সংকুচিত সোয়াপ ক্যাশে) থেকে উচ্ছেদ করা হয়েছে তখন এটি _ সংক্রামিত_ এবং নীচে এক বছরের রেফারেন্স [ lwn.net/Articles/537422/] অনুসারে ব্যাকিং সোয়্যাপ ডিভাইসে স্থাপন করা হয় ...
সিবিহে

( lwn.net/Articles/537422 - "পুনরায় শুরু হওয়া লিখিতব্যাকের সময়, zswap পৃষ্ঠাটি সংক্ষেপিত করে ...")। নীচে @ মিমিন পরামর্শ দেয় এটি কোনও অকার্যকর এমনকি কোনও সার্ভারের জন্য কার্যকর বিপদ হতে পারে!
mwfearnley

উত্তর:


2

২. সম্পর্কিত, zswap লিখিত-পৃষ্ঠায় পৃষ্ঠাগুলিকে সংক্ষেপিত বলে মনে হচ্ছে, @ সিবিহির মন্তব্য নিশ্চিত করে।

মিমি / zswap.c , লাইন 828:

/*
 * Attempts to free an entry by adding a page to the swap cache,
 * decompressing the entry data into the page, and issuing a
 * bio write to write the page back to the swap device.
 * ...
 */
static int zswap_writeback_entry(struct zpool *pool, unsigned long handle)
{
    ...

    case ZSWAP_SWAPCACHE_NEW: /* page is locked */
        /* decompress */
        ...

        ret = crypto_comp_decompress(tfm, src, entry->length,
                         dst, &dlen);
        ...
        kunmap_atomic(dst);    


$ git show
commit 1573d2caf713874cfe0d1336c823d0fb548d8bed
Merge: 4cdf8db 0a86248
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Oct 11 23:59:07 2016 -0700

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


7
আমি zswap এর একটি সম্ভাব্য বিপজ্জনক আচরণ পেয়েছি। যখন কোনও অ্যাপ্লিকেশন অনেকগুলি পৃষ্ঠা বরাদ্দ করে এবং তাদের কাছে খুব ভালভাবে সংকোচিত এমন ডেটা লেখায় (জিরোগুলির ক্রম বলুন), zswap সেগুলিতে আনন্দের সাথে কার্নেল স্ল্যাব স্মৃতিতে সঞ্চয় করে। যাইহোক, যখন কোনও আসল ডিস্ক অদলবদল করার জন্য ট্রিগার করে, তখন হঠাৎ সঞ্চিত ডেটা হ'ল 'ফেটে যায়' - যে পৃষ্ঠাগুলিতে মেমরির "কেবল" গিগাবাইট নিয়ে যাওয়া অনেকগুলি জিরো এখন ডিস্কের কয়েকশ গিগাবাইট বিচ্ছিন্ন হয়ে যায়।
mनिश 18

2
কোনও আক্রমণকারী কোনও সার্ভারে কম এনট্রপি ডেটা সঞ্চয় করার চেষ্টা করতে পারে। যখন কিছু অদলবদল করতে থাকে তখন সার্ভারটি মারা যায়।
mनिश 18

1
আপনি কি এই উজানে রিপোর্ট করেছেন?
কেন শার্প

কমপ্রেসড ডেটা লেখার আরেকটি অসুবিধা Mi
মিহাইল মালোস্টানিডিস

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

75

এই তিনটি সিস্টেম সম্পর্কে পুরোপুরি স্টাফ রয়েছে তবে এগুলির মধ্যে কোনটিই তাদের মধ্যে সহজ তুলনা করে না alone আমি এটি বোঝার চেষ্টা করেছি কিন্তু আমার মাথাটি ফেটে গেল। তারপরে আমি ভেবেছিলাম এটি পেয়েছি তাই আমি এটি লিখে দেওয়ার চেষ্টা করেছি এবং আমার মাথা আবার বিস্ফোরিত হয়েছিল। (বাস্তবায়নের সংক্ষিপ্ত বিবরণ দেখুন) আমি ভেবেছিলাম যে এটি এখানে পোস্ট করা কার্যকর হবে কারণ তাদের মধ্যে যুগলতর তুলনা সম্পর্কে জিজ্ঞাসা করা অনেক স্ট্যাকেক্সচেঞ্জ প্রশ্ন ছিল।

কখন ব্যবহার করবেন তার সংক্ষিপ্তসার:

  1. আপনার যদি এইচডিডি / এসএসডি-তে কোনও স্ব্যাপ ডিভাইস না থাকে তবে জেডআরএএম
  2. আপনার যদি এইচডিডি / এসএসডি-তে কোনও সোয়াপ ডিভাইস থাকে তবে জেডএসওয়্যাপ
  3. ZCACHE : এটি ZSWAP যা করে এবং ALSO ফাইলপ্রসেস পৃষ্ঠা ক্যাশে সংকুচিত করে এবং গতিবেগ করে তা করে। (এটি অভ্যন্তরীণভাবে আরও জটিল এবং এটি এখনও বিকাশাধীন থাকায় মূলধারার কার্নেলে নেই)।

তাদের বাস্তবায়নের সংক্ষিপ্তসার:

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

বিবরণ:

  • জেডআরাম: র‍্যামে একটি অদলবদল ডিভাইস তৈরি করে। এখানে প্রেরিত পৃষ্ঠাগুলি সংক্ষিপ্তভাবে সংরক্ষণ করা হয়েছে। অন্যান্য সোয়াপ ডিভাইসের তুলনায় এটির উচ্চ অগ্রাধিকার রয়েছে: যে পৃষ্ঠাগুলি অদলবদল করা হয় তা পূর্ণরূপে zram ডিভাইসে প্রেরণীয়ভাবে প্রেরণ করা হয়, কেবল তখনই অন্য কোনও স্ব্যাপ ডিভাইস ব্যবহার করা হয়।

    • উপকারিতা: অন্যান্য (শারীরিক) অদলবদল ডিভাইসের থেকে স্বতন্ত্র। উপলব্ধ মেমরিটি প্রসারিত করার জন্য কোনও অদলবদল বিভাজন না থাকলে এটি ব্যবহার করা যেতে পারে।
    • অসুবিধাগুলি: যদি অন্যান্য সোয়াপ ডিভাইস (এইচডিডি / এসএসডি) উপস্থিত থাকে তবে সেগুলি সর্বোত্তমভাবে ব্যবহৃত হয় না। যেহেতু জ্রাম ডিভাইসটি একটি স্বতন্ত্র সোয়াপ ডিভাইস, এটি পূর্ণ হয়ে গেলে, যে কোনও নতুন পৃষ্ঠাগুলি অদলবদল করা দরকার তা সরাসরি পরবর্তী সোয়াপ ডিভাইসে প্রেরণ করা হয়, সুতরাং:
      1. এলআরইউর (অন্তত সম্প্রতি ব্যবহৃত) বিপরীতের আসল সুযোগ রয়েছে: এটি স্লো ডিস্কে সর্বাধিক অদলবদল করা ডেটা হবে, যখন নিষ্ক্রিয় পৃষ্ঠাগুলি অনেক আগে সরিয়ে নেওয়া হয়েছিল দ্রুত জেডআরএমে থাকবে
      2. ডিস্ক থেকে পাঠানো এবং পঠিত ডেটা সঙ্কুচিত হওয়ায় প্রচুর ব্যান্ডউইথ গ্রহণ করবে consume
    • স্থিতি: মূললাইন কার্নেলের মধ্যে মার্জ করা হয়েছে 3.14। কোনও সিস্টেমে একবার সক্ষম হয়ে গেলে, অদলবদল ডিভাইসগুলি সেট আপ করতে এবং সেগুলি ব্যবহার করতে কিছু ইউজারস্পেস কনফিগারেশন প্রয়োজন।
  • ZSWAP:frontswap সিস্টেম আঙ্গুলসমূহ পৃষ্ঠাগুলি অদলবদল করার প্রচেষ্টা এবং zswap ব্যবহার লেখ-ব্যাক-ক্যাশে একটি HDD এর / এসএসডি swap 'র ডিভাইসের জন্য: একটি প্রয়াস পৃষ্ঠা সংকুচিত করার তৈরি করা হয় এবং এটি যদি দুর্বল সংকোচনশীল তথ্য ধারণ করে সরাসরি ডিস্কে লেখা হয়। যদি ডেটা সংকুচিত হয় তবে এটি zswap মেমরির পুলে সংরক্ষণ করা হবে। পৃষ্ঠাগুলি মেমোরির পরিমাণ আনা হয় যখন র্যাম মোট সংকুচিত পৃষ্ঠাগুলি একটি নির্দিষ্ট আকারের অতিক্রম করে Least Recently Used (LRU) সংকুচিত পৃষ্ঠা ডিস্কে লেখা যেমন এটি শীঘ্রই প্রয়োজন হতে করার সম্ভাবনা কম হয়।

    • উপকারিতা: খুব দক্ষ ব্যবহারের র‌্যাম এবং ডিস্ক ভিত্তিক অদলবদল। প্রয়োজনীয় লেখক এবং পাঠের সংখ্যা হ্রাস করেই ডিস্ক I / O হ্রাস করে (ডেটা সংকুচিত হয় এবং র‌্যামে ধারণ করা হয়) এবং ডেটা সংকুচিত আকারে থাকায় এই I / O ক্রিয়াকলাপগুলির ব্যান্ডউইথকে হ্রাস করে।
    • সীমাবদ্ধতা: এটি ডিস্ক ভিত্তিক অদলবদল সিস্টেমের বর্ধন এবং এটি হার্ড ডিস্কের অদলবদলের উপর নির্ভর করে।
    • স্থিতি: 3.11 মেইনলাইন লিনাক্স কার্নেলের মধ্যে মার্জ করা।
  • জেডকাচে: এটি ট্রান্সসেন্ডেন্ট মেমরি সিস্টেমের জন্য একটি ব্যাকএন্ড। ট্রান্সসেন্ডেন্ট মেমরিটি একটি র্যাম-এর মতো মেমরি সরবরাহ করে যা কেবল একবারে ব্যবহার putএবং getকল করে একটি পৃষ্ঠায় অ্যাক্সেস করতে পারে । এটি স্বাভাবিক মেমরির বিপরীতে যা একবারে বাইট অ্যাক্সেস করা যায়। frontswapএবং cleancacheসিস্টেম হুক প্রচেষ্টা অদলবদল এবং যথাক্রমে ফাইল-সিস্টেম পৃষ্ঠা ক্যাশে সংশোধন এবং তাদের তুরীয় মেমরির ব্যাক-এন্ডের পাঠাতে। Zcache যখন ব্যাকএন্ড হিসাবে ব্যবহৃত হয় তখন ডেটা সংকুচিত হয় এবং র‌্যামে সংরক্ষণ করা হয়। যখন এটি পূর্ণ হয়, সঙ্কুচিত পৃষ্ঠাগুলি অদলবদলে উচ্ছেদ করা হয়। (একটি বিকল্প ব্যাকএন্ড হ'ল র‌্যামস্টার যা নেটওয়াক কম্পিউটারগুলিতে র‌্যামের একটি পুল ভাগ করে নেয়)। ব্যাকএন্ডের frontswapসাথে কেবল ফ্রন্টএন্ড ব্যবহার করা zcacheঠিক একইভাবে কাজ করে zswap। (প্রকৃতপক্ষে zswap হল zcache এর একটি সরলীকৃত উপসেট)

    • উপকারিতা অদলবদল এবং ফাইল সিস্টেম ক্যাশে উভয়ের জন্য সংকুচিত ক্যাচিং সরবরাহ করে।
    • স্থিতি: তবুও এটি মুখ্য নয় কারণ এটি খুব জটিল এবং কাজ চলছে।

আমি যে সেরা উত্সগুলি পেয়েছি তা হ'ল:



6
Zram এবং zswap উভয় ব্যবহার করা কি সম্ভব এবং / অথবা যুক্তিসঙ্গত?
ফুল্যা

2
তিনজনের কোনওটিই একই সাথে চালানো উচিত নয়। zswap- এর ZRAM এর বিপরীতে ব্যাকএন্ড হিসাবে ডিস্ক ভিত্তিক অদলবদলের প্রয়োজন যার জন্য কোনও ডেডিকেটেড অদলবদল প্রয়োজন। তবে তারপরে যদি আপনার অদলবদল হয় তবে zswap + swap পার্টিশনের তুলনায় ZRAM + swap পার্টিশনটি অনেক কম কার্যকর।
স্থির

আপনি কীভাবে সক্রিয় করবেন তা এখানে সংক্ষেপে বলতে পারেন zswap। এখানে বিশদ জিজ্ঞাসাবাবু / এ
লোপোল্ড হার্টজ 준영


1
প্রতিটি উত্তর যে বলে যে, zramএকটি swapসম্পূর্ণই ভুল। zramনা একটি swapswapশুধুমাত্র সংরক্ষণ করা যাবে zram। তবে এটি সম্ভাব্য ব্যবহারের অন্যতম কেস! এখানে একটি উদাহরণ রয়েছে: "কিছু ব্যবহারের ক্ষেত্রে / টিএমপি স্টোরেজ অন্তর্ভুক্ত থাকে, স্বাপ ডিস্ক হিসাবে ব্যবহার করা যায়, বিভিন্ন ক্যাশে / ভেরির অধীনে এবং আরও অনেকগুলি :)" কার্নেল.আর / ডক / ডকুমেন্টেশন / ব্লকদেব / জ্রাম.টেক্সট উদাহরণস্বরূপ আমি এটির জন্য ব্যবহার করি অস্থায়ী সঞ্চয়স্থান যা আমি অন্য কোনও ব্লক ডিভাইসের মতো ফর্ম্যাট করি এবং মাউন্ট করি।
ভিক্টর ইয়ারেমা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.