অদলবদল ছেড়ে দেওয়া হচ্ছে


10

অনেক সময় কার্নেল মনে হয় যে ফায়ারফক্সকে অদলবদলে রাখার ইচ্ছা রয়েছে, যদিও পর্যাপ্ত শারীরিক স্মৃতি রয়েছে এবং আমি ফায়ারফক্স ব্যবহার করছি:

robert@rm:~> free -m
             total       used       free     shared    buffers     cached
Mem:          3009       1904       1104          0        109        679
-/+ buffers/cache:       1116       1892
Swap:         4102        885       3216

কার্নেলকে অদলবদল ছাড়ার জন্য এবং উপলভ্য ফ্রি মেমরিটি ব্যবহার করার নির্দেশ দেওয়ার জন্য কি কোনও আদেশ রয়েছে?


আপডেট : স্বল্পমেয়াদে আমি স্বপন / সোয়াফফ ব্যবহার করেছি, এখন আমি সেট করছি

sudo sysctl vm.swappiness=30

অন্য প্রতিক্রিয়া হিসাবে প্রস্তাবিত, এবং খুব ভাল ফলাফল পেতে।

উত্তর:


2

আপনি এটি করতে পারেনswapoff - মূল সুবিধাগুলির প্রয়োজন হবে
তবে আমার ধারণা এটি আপনার পক্ষে সমস্যা নয়।


15

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

লিনাক্স কার্নেল মেলিং তালিকাগুলি সম্পর্কে ন্যাশনাল স্বর্ণের আচরণ সম্পর্কে কর্নেলের যে নীতি অনুসরণ করা উচিত তা নিয়ে উত্তপ্ত বিতর্ক হয়েছে । ফলাফলটি হ'ল আমাদের কাছে এখন ২.6 কার্নেলের মধ্যে একটি প্যাচ রয়েছে যা আমাদের এই আচরণটি বৃহত্তর পরিমাণে সামঞ্জস্য করতে দেয়।

নোট করুন যে আপনার এটির জন্য মূল অধিকার প্রয়োজন, যেমন আপনি swapoff / swapon কমান্ডগুলি পরিচালনা করতে চান।

"অদলবদল" এর বর্তমান মান / proc / sys / vm / swappiness ফাইলটিতে পরিদর্শন করা যেতে পারে , বা এই সিস্টেপ্ট কমান্ডটি চালিয়ে :

sudo sysctl vm.swappiness

"অদলবদল" মানগুলি 0 (অদলবদল না হওয়া) 100 থেকে 100 (যতটা সম্ভব ডিস্কে অদলবদল ) এর মধ্যে হতে পারে। উবুন্টু জাহাজগুলি ডিফল্ট অদলবদল সহ 60 এ সেট করা হয়।

একটি অধিবেশনটির জন্য এটি পরিবর্তন করতে, সিসিকটেলটি আবার কল করুন এবং এটি ব্যবহারের জন্য স্বচ্ছতা মানটি দিন:

sudo sysctl vm.swappiness=30

এছাড়া বিনামূল্যে , আপনি অবশ্যই চমৎকার মাধ্যমে এই কাজ করার প্রভাব নজর রাখতে পারেন htop বা iotop ইউটিলিটি।

আপনি যদি তুমি কি দেখতে, এবং পুনরায় বুট জুড়ে এই মান, শুধু জায়গা বজায় রাখতে চান মত "vm.swappiness = 30" মধ্যে /etc/sysctl.conf ফাইল।

$ sudo sysctl vm.swappiness
vm.swappiness = 30
$ sudo sysctl vm.swappiness=40
vm.swappiness = 40
$ sudo sysctl vm.swappiness
vm.swappiness = 40
$ sudo tail /etc/sysctl.conf 
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#
# The contents of /proc/<pid>/maps and smaps files are only visible to 
# readers that are allowed to ptrace() the process
# kernel.maps_protect = 1
vm.swappiness=30

আপনার মেশিনে অদলবদল গ্রহণযোগ্য স্তরের জন্য এমন কোনও সন্ধান না পাওয়া পর্যন্ত আপনি বিভিন্ন মান সহ খেলতে পারেন।


সিস্কিটল এর জন্য +1। অদলবদলের বিভিন্ন মানগুলির সাথে পরীক্ষা করার সময়, আপনি সরাসরি প্রোক ফাইলে লিখতে পারেন (প্রতিধ্বনি "30"> / proc / sys / vm / swappiness)। এই পরিবর্তনগুলি অস্থায়ী এবং /etc/sysctl.conf এ লিখবে না। একবার আপনি সেটিংসে খুশি হয়ে গেলে 'স্থায়ী' পরিবর্তন করতে সিস্কিটেল ব্যবহার করুন।
শন চিন

6

মনে রাখবেন যে অদলবদলের জিনিসগুলি এখনকার চেয়ে ব্যস্ত সময়ে সেখানে রাখা হয়েছিল।

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

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

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

আউটপুট থেকে আপনি দেখতে পাচ্ছেন না যে এই স্থানে (অদলবদল অঞ্চলে ডিস্ক ভিত্তিক পৃষ্ঠাগুলিতে এবং র‌্যামে উভয়ই) থাকা অবস্থায় free। আপনি এটি /procযদিও বিশেষ ফাইল সিস্টেমের মাধ্যমে দেখতে পারেন । গণনার cat /proc/meminfoজন্য ফলাফল দেখুন SwapCached

স্পষ্টত অতিরিক্ত স্মৃতিশক্তি থাকাকালীন সেখানে অদলবদল হওয়ার জন্য আরও দুটি কারণ রয়েছে

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

1
একটি দুর্দান্ত ব্যাখ্যার জন্য +1। এফওয়াইআই, ভিএমস্ট্যাট আপনাকে সমস্ত কিছু না দিয়ে / প্রোম / মেমিনফো ডেটা দেখতে দেয়।

1

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

অতিরিক্ত হিসাবে, আপনি এটি পরীক্ষা করতে পারেন যে উলিমিটের মাধ্যমে আপনার সর্বাধিক আবাসিক আকারের সেট কোনও বিধিনিষেধ নেই (সাধারণত / etc / প্রোফাইলে তবে সম্ভবত এটি বিতরণের সাথে পরিবর্তিত হয় এবং এটি প্রতি প্রক্রিয়াতে সেট করা যায় (উদাহরণস্বরূপ লঞ্চ স্ক্রিপ্টে) )।

পরিশেষে, মাইক্রোসফ্ট উইন্ডোজে ফায়ারফক্সের সাথে ডিস্কে সরিয়ে নেওয়া নির্দিষ্ট সমস্যাগুলির রিপোর্ট পাওয়া যায়, যেমন যখন ছোট করা হয় (যেমন, উদাহরণস্বরূপ) http://joeabiraad.com/mozilla-firefox/control-your-firefox-ram-usage/113 )। আমি জিএনইউ / লিনাক্স সিস্টেমে এর কথা শুনিনি তবে এটি অন্বেষণ করার মতো হতে পারে।


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