কিছু কারণে https://www.kernel.org/doc/Docamentation/ blockdev/zram.txt- এর অনেক ভুল ব্যাখ্যা রয়েছে বলে মনে হচ্ছে
এটি পরিষ্কারভাবে বলে:
২) কমপ্রেশন স্ট্রিমের সর্বাধিক সংখ্যক সেট করুন
এই গুণাবলীর কাছে মানটি নির্বিশেষে ZRAM সর্বদা একাধিক সংক্ষেপণ স্ট্রিম বরাদ্দ করবে - অনলাইনে সিপিইউতে একটি - এইভাবে বেশ কয়েকটি সমকালীন সংক্ষেপণ ক্রিয়াকলাপের অনুমতি দেয়। কিছু সিপিইউ অফলাইন হয়ে গেলে বরাদ্দ হওয়া সংক্ষেপণের স্ট্রিমগুলির সংখ্যা কমে যায়। আপনি কোনও ইউপি সিস্টেম চালাচ্ছেন বা অনলাইনে কেবলমাত্র 1 টি সিপিইউ না থাকলে এখন পর্যন্ত আর কোনও একক-সংক্ষেপণ-প্রবাহের মোড নেই।
বর্তমানে কয়টি স্ট্রিম উপলব্ধ তা জানতে:
cat /sys/block/zram0/max_comp_streams
তবে একটি সাধারণ, ধ্রুবক নগরকথার প্রচলন রয়েছে যে সর্বাধিক স্ট্রিমগুলি 1 1
এটা স্পষ্টত সত্য নয়।
দুটি ওএস যেখানে জ্রাম কার্যকর ক্রোম ওএস এবং অ্যান্ড্রয়েড আপনাকে একক ডিভাইস প্রমাণ করেছে। তারা টুইট page-cluster
:
page-cluster
একক প্রয়াসে অদলবদল থেকে পরপর পৃষ্ঠাগুলি পঠন করা পাতার সংখ্যা নিয়ন্ত্রণ করে। এটি পৃষ্ঠার ক্যাশে রিডহেহেডের সোয়াপ পাল্টা।
উল্লিখিত পবিত্রতা ভার্চুয়াল / শারীরিক ঠিকানাগুলির ক্ষেত্রে নয়, তবে ক্রমাগত স্বাপের জায়গায় - এর অর্থ তারা একসাথে অদলবদল হয়েছিল।
এটি একটি লোগারিথমিক মান - এটি শূন্যে সেট করার অর্থ "1 পৃষ্ঠা", এটির 1 সেট করার অর্থ "2 পৃষ্ঠাগুলি", এটির 2 সেট করার অর্থ "4 পৃষ্ঠাগুলি" ইত্যাদি Z
ডিফল্ট মান তিনটি (একসাথে আট পৃষ্ঠা)। আপনার কাজের চাপ অদলবদল-নিবিড় থাকলে এটি একটি অন্য মূল্যের সাথে সুর করার কিছু ছোট সুবিধা থাকতে পারে।
নিম্ন মানের মানে প্রাথমিক ত্রুটির জন্য নিম্ন বিলম্বিত হওয়া, তবে একই সাথে অতিরিক্ত ত্রুটিগুলি এবং I / O বিলম্বগুলি নিম্নলিখিত দোষগুলির জন্য বিলম্বিত করে যদি তারা সেই ধারাবাহিক পৃষ্ঠাগুলির অংশ হয়ে থাকে তবে পঠন শিরোনামটি এনেছে।
- কার্নেল ডকুমেন্টেশন থেকে/proc/sys/vm/*
সুতরাং echo "0" > /proc/sys/vm/page-cluster
একক পৃষ্ঠা জোর করতে ব্যবহার করুন ।
ডিবিয়ান / উবুন্টু প্যাকেজটি zram_config থেকে অনেকটা উদ্ভূত হয়েছে বলে মনে হয় যে কোনও কারণে zram এর জন্য কার্নেল নথিগুলির সাথে খুব কম সম্পর্ক রয়েছে এবং একাধিক চীনা ফিসফিসার জন্ম দিয়েছে যে মূলত পুরোপুরি ভুল হতে পারে।
ফাইল সোয়াপ দিয়ে আপনি কি প্রতিটি কোরের জন্য একটি সোয়াপ ড্রাইভ তৈরি করেন? হতে পারে এটি আপনার প্রশ্নের উত্তর দিতে পারে। এছাড়াও এটিকে গুগলস ক্রোম ওএস এবং অ্যান্ড্রয়েড ব্যাক আপ করার জন্য যা উপরের পৃষ্ঠা-ক্লাস্টারের সাথে সফলভাবে নিয়োগ করেছে এটি কোনও ডিস্কের সাথে মেলে না, যাতে একক ডিভাইসগুলি বিলম্বিত হতে পারে।
এছাড়াও সিস-অ্যাডমিনের জন্য গুরুত্বপূর্ণ আসল মেম ব্যবহার বা ভিএম মেম ব্যবহার কী? বেশিরভাগ উদাহরণগুলি ডিস্ক_সাইজের মাধ্যমে সৃষ্টি দেখায় এবং মেম_লিমিটকে সম্পূর্ণ উপেক্ষা করে। ডিস্ক_সাইজ = কমপ্রেসড ভিএম আকার। mem_limit = প্রকৃত মেমের পদচিহ্ন সীমা।
এটি ধরণের ডিস্ক_সাইজ পছন্দকে বিভ্রান্ত করে তোলে কারণ এটি ভার্চুয়াল সর্বাধিক আকারের উপর নির্ভর করে কারণ ভার্চুয়াল সর্বাধিক আকারটি কমপ্লেগ-রেশি অনুপাতের উপর নির্ভর করে এবং ডিস্কের আকারের 0.1% এর ওভারহেড যখন ব্যবহার না করা হয় এবং সত্যই ফ্রুগাল বনামের মেম_লিমিট * (আনুমানিক 2 - 4) অনুমান করা যায় আশাবাদ।
zram_config এমনকি পূর্ববর্তী পরিষেবা ব্যবহারের জন্য পরীক্ষা করে না এবং নীচে উইলের মতো জ্রাম সি ক্লাসের একটি সাধারণ চেক অন্তর্ভুক্ত করে ওভাররাইট করে।
createZramSwaps () {
totalmem=$(free|awk '/^Mem:/{print $2}')
mem=$((( totalmem * MEM_FACTOR / 100 / BIG_CORES ) * 1024))
# Check Zram Class created
ZRAM_SYS_DIR='/sys/class/zram-control'
if [ ! -d "${ZRAM_SYS_DIR}" ]; then
modprobe zram
RAM_DEV='0'
echo ${COMP_ALG_SWAP} > /sys/block/zram${RAM_DEV}/comp_algorithm
echo ${mem} > /sys/block/zram${RAM_DEV}/disksize
mkswap /dev/zram${RAM_DEV}
swapon -p ${SWAP_PRI} /dev/zram${RAM_DEV}
else
RAM_DEV=$(cat /sys/class/zram-control/hot_add)
echo ${COMP_ALG_SWAP} > /sys/block/zram${RAM_DEV}/comp_algorithm
echo ${mem} > /sys/block/zram${RAM_DEV}/disksize
mkswap /dev/zram${RAM_DEV}
swapon -p ${SWAP_PRI} /dev/zram${RAM_DEV}
fi
if [ "$BIG_CORES" -gt 1 ];then
for i in $(seq $((BIG_CORES - 1))); do
RAM_DEV=$(cat /sys/class/zram-control/hot_add)
echo ${COMP_ALG_SWAP} > /sys/block/zram${RAM_DEV}/comp_algorithm
echo ${mem} > /sys/block/zram${RAM_DEV}/disksize
mkswap /dev/zram${RAM_DEV}
swapon -p ${SWAP_PRI} /dev/zram${RAM_DEV}
done
fi
}