অদলবদল করার সময় লিনাক্সে ডেস্কটপ প্রতিক্রিয়া বাড়ান


15

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

এটি একটি বিরক্তিকর আচরণ, বিশেষত লো ম্যাম সহ সিস্টেমগুলিতে।

ডেস্কটপ পরিবেশ ইত্যাদির মতো কিছু অ্যাপ্লিকেশন / চাকরি দেওয়ার কোনও উপায় কি অন্যান্য অ্যাপ্লিকেশনগুলির তুলনায় র‌্যামে থাকার উচ্চ অগ্রাধিকার, যাতে অ্যাপ্লিকেশনটি আসলে সমস্ত মেমরিকে জড়িয়ে রাখে ডেস্কটপ পরিবেশের আগেই বদলে যায় ইত্যাদি?

সম্পাদনা: আমি পুরো র‌্যাম ব্যবহার করার পরে আমি সেই মামলার কথা বলছি যাতে এটি অক্ষম না হয়ে থাকলে এটি সর্বদা অদলবদল শুরু করবে (আমি চাই না যে প্রক্রিয়াগুলি এলোমেলোভাবে হত্যা করা হোক)। আমার এই সমস্যাটি কেবল কম র্যাম পরিবেশেই ছিল না, পাশাপাশি আমার ডেস্কটপ মেশিনে 8GiB র‌্যামও ছিল আংশিকভাবে অনেক ভিএম এর কারণে আংশিকভাবে মেমরি ফুটো হওয়ার কারণে। ZRAM কোনও সমস্যার সমাধান নয় কারণ এটি কেবল সমস্যাটি বিলম্ব করে। এই সমস্যার জন্য আমি কেবলমাত্র সমাধানের জন্যই ভাবতে পারি হ'ল কিছু ব্যবহারকারীর ইউটিলিটি বা কার্নেল এপিআই যা নির্দিষ্ট কিছু কাজকে পুরোপুরি অদলবদল করতে বা রোধ করতে দেয় বা কমপক্ষে এটি খুব অসম্ভব করে তোলে। কেউ কি অন্য কোনও সমাধান জানেন বা এইরকম সরঞ্জাম বা এপিআই সম্পর্কে অস্তিত্বে বা পরিকল্পনার বিষয়ে কিছু জানেন?

দ্বিতীয় সংস্করণ: https://aur.archlinux.org/packages/ulatencyd-git/ এবং https://wiki.archlinux.org/index.php/Ulatencyd অনুসারে সিস্টেমের নতুন সংস্করণগুলির সাথে ulatencyd কাজ করবে বলে মনে হচ্ছে না । এটি কারণ হতে পারে যদি আমি এটি সঠিকভাবে বুঝতে পারি তবে সিস্টেমেড ইউজারস্পেসের দৃষ্টিকোণ থেকে সিগ্রুপগুলির সম্পূর্ণ নিয়ন্ত্রণ নিয়েছিল।


3
cgroups, যদি আপনার মেমরির cgroup সক্রিয় থাকে এবং অদলবদ অ্যাকাউন্টিং সক্ষম হয়ে থাকে ( cgroup_enable=memory swapaccount=1কার্নেল কমান্ড লাইনে; নোট করুন এটির একটি স্বল্প কর্মক্ষমতা ব্যয় হয়েছে)। উদাহরণ বাস্তবায়ন: ulatencyd
ডারোবার্ট

@डरবার্ট দুর্দান্ত দেখে মনে হচ্ছে এটি ঠিক আমি যা খুঁজছিলাম। আমি সময় পাওয়ার সাথে সাথে এটি নিয়ে পরীক্ষা শুরু করব।
এফএসম্যাক্সবি

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

এমনকি উইকি আর্টিকেলটিও রয়েছে wiki.archlinux.org/index.php/Ulatencyd
এফএসম্যাক্সবি

আমি যদি এই প্রশ্নে ভোট দিতে পারতাম তবে আমি আরও করতাম! জিইউআই এবং র‍্যামে থাকার জন্য কয়েকটি কী প্রোগ্রামকে বলার কোনও সরাসরি উপায় নেই যাতে এটি প্রতিক্রিয়াশীল থাকে? মানে, লিনাক্স ব্যবহারকারীদের এই বিকল্পটি দেওয়ার আরও খারাপ পরিস্থিতি কী? কম্পিউটার ক্রাশ? এর আগে কারা করল না? :) আমার অর্থ মাঝে মাঝে, আমি দুর্ঘটনাক্রমে অনেকগুলি ভিএম শুরু করি কারণ আমি (র‍্যাম নম্বর) সঠিকভাবে যুক্ত করতে পারি নি এবং তারপরে জিনিসগুলি আবার নিয়ন্ত্রণে আনতে চিরকাল লাগে। জিইউআই এবং সম্ভবত টার্মিনালটি র‌্যামে থাকার কথা বলা কি এটি ঠিক করে দেবে ?! দয়া করে, কেউ এই উত্তর!
দামন

উত্তর:


1

আমি যতদূর জানি এটি লিনাক্সের জন্য নির্দিষ্ট কোনও সমস্যা নয়, এটি SWAP (বা ভার্চুয়াল মেমরি) যেভাবে কাজ করে। ওএসের যদি র‌্যামের বিপরীতে হার্ড ড্রাইভে ডেটা সন্ধান করার প্রয়োজন হয় তবে এটি ধীর হয়ে যাবে। এটি সম্পর্কে আপনি কিছুই করতে পারবেন না, ডিস্ক অ্যাক্সেস করা র‌্যাম অ্যাক্সেস করার চেয়ে ধীর গতি।

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

সুতরাং, সিপিইউ অগ্রাধিকারটি কমান্ড niceএবং reniceকমান্ডের সাহায্যে সেট করা হয়েছে :

 Renice alters the scheduling priority of one or more running processes.
 The following who parameters are interpreted as process ID's, process
 group ID's, or user names.  Renice'ing a process group causes all pro‐
 cesses in the process group to have their scheduling priority altered.
 Renice'ing a user causes all processes owned by the user to have their
 scheduling priority altered.  By default, the processes to be affected
 are specified by their process ID's.

অগ্রাধিকারগুলি -20 (সর্বোচ্চ অগ্রাধিকার) থেকে 20 (সর্বনিম্ন অগ্রাধিকার) পর্যন্ত যায়। একটি চলমান প্রক্রিয়াটির অগ্রাধিকার পরিবর্তন করতে, আপনি এটি করতে পারেন:

renice -15 $PID

যেখানে $PIDহয় PID, প্রক্রিয়া যার অগ্রাধিকার আপনি বৃদ্ধি করতে চান করুন। আপনি pgrepএটি খুঁজে পেতে ব্যবহার করতে পারেন । উদাহরণ স্বরূপ:

renice -15 $(pgrep gnome-session)

অন্য বিকল্পটি হ'ল সিস্টেমের ' অদলবদল ' সেট করে যা এটি কখন অদলবদল শুরু করবে তা নির্ধারণ করে। 1 এর অদলবদল মানটির অর্থ এটি কেবল মেমরির ত্রুটিগুলি এড়াতে অদলবদল করবে। উচ্চতর মানগুলির অর্থ এখনও শারীরিক স্মৃতি উপলব্ধ থাকলেও এটি অদলবদল শুরু করবে। আপনার সিস্টেমটিকে যতটা সম্ভব অদলবদল করতে আপনি এটি তুলনামূলক কম মানতে সেট করতে পারেন। এই লাইনটি এতে যুক্ত করুন /etc/sysctl.conf:

vm.swappiness=1

যত্নবান: আপনার কাছে প্রচুর র‍্যাম না থাকলে এটি ভাল ধারণা নয়, অদলবদল সাধারণত একটি ভাল জিনিস হয়, আপনার সিস্টেমের জন্য সঠিক ভারসাম্য খুঁজে পেতে আপনাকে মূল্যবোধগুলির সাথে কিছুটা খেলতে হবে।


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

@ एफএসম্যাক্সবি সিপিইউর অগ্রাধিকার সাহায্য করতে পারে যেহেতু এটি ডিই কে অগ্রাধিকার দেবে, ডিই নিজেই অদলবদল করলে এটি সাহায্য করবে না তবে সিপিইউ ধরে রাখার কারণে এবং মেশিনটি ধীর করে দিচ্ছে এমন কিছু যদি তা ঘটায় তবে তা ঘটবে না।
টেরডন

যখন ডি কিছু সময়ের জন্য অলস থাকে, তখন আমার অভিজ্ঞতায় স্মৃতিশক্তি শেষ হয়ে গেলে ডিই সর্বদা অদলবদল হয়ে যায়।
এফএসম্যাক্সবি

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