র‌্যামের 30% হ'ল "বাফার"। এটা কি?


13
$ free -h
              total        used        free      shared  buff/cache   available
Mem:           501M        146M         19M        9.7M        335M        331M
Swap:          1.0G         85M        938M

$ free -w -h
              total        used        free      shared     buffers       cache   available
Mem:           501M        146M         19M        9.7M        155M        180M        331M
Swap:          1.0G         85M        938M

এর আউটপুটে আমি কীভাবে "বাফারগুলি" বর্ণনা বা ব্যাখ্যা করতে পারি free?

এই সিস্টেমটি নিয়ে আমার কোনও (জ্ঞাত) সমস্যা নেই। আমি কেবল অবাক এবং কৌতূহল যে "বাফারস" প্রায় "ক্যাশে" (155 এম বনাম 180 এম) এর চেয়ে বেশি দেখতে পেয়েছি। আমি ভেবেছিলাম "ক্যাশে" ফাইলের সামগ্রীর পৃষ্ঠার ক্যাশে উপস্থাপন করেছে এবং "ক্যাশে / বাফারস" এর সর্বাধিক উল্লেখযোগ্য অংশ হতে পারে। "বাফার্স" কীসের জন্য তা আমি কম পরিষ্কার করছি।

উদাহরণস্বরূপ আমি এটি আমার ল্যাপটপের সাথে তুলনা করেছি, যার র‌্যাম বেশি more আমার ল্যাপটপে "বাফারস" চিত্রটি "ক্যাশে" (200 এম বনাম 4 জি) এর চেয়ে ছোট আকারের ক্রম। যদি "বাফারগুলি" কী তা সম্পর্কে আমার যদি সঠিক ধারণা থাকে তবে আমি কেন জিজ্ঞাসা করতে পারি যে বাফারগুলি কেন ছোট সিস্টেমে এত বড় অনুপাতে বাড়তে পারে।

man proc (আমি "বৃহত্তর" এর hর্ষাঙ্কিতভাবে পুরানো সংজ্ঞাটিকে উপেক্ষা করি):

বাফার% লু

কাঁচা ডিস্ক ব্লকগুলির জন্য তুলনামূলকভাবে অস্থায়ী স্টোরেজ যা প্রচুর পরিমাণে বড় হওয়া উচিত নয় (২০ এমবি বা তাই)।

ক্যাচড% লু

ডিস্ক থেকে পঠিত ফাইলগুলির জন্য মেমোরি ক্যাশে (পৃষ্ঠা ক্যাশে)। সোয়াপকাড অন্তর্ভুক্ত নয়।


$ free -V
free from procps-ng 3.3.12
$ uname -r
4.9.0-6-marvell
$ systemd-detect-virt
none

$ cat /proc/meminfo
MemTotal:         513976 kB
MemFree:           20100 kB
MemAvailable:     339304 kB
Buffers:          159220 kB
Cached:           155536 kB
SwapCached:         2420 kB
Active:           215044 kB
Inactive:         216760 kB
Active(anon):      56556 kB
Inactive(anon):    73280 kB
Active(file):     158488 kB
Inactive(file):   143480 kB
Unevictable:       10760 kB
Mlocked:           10760 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         513976 kB
LowFree:           20100 kB
SwapTotal:       1048572 kB
SwapFree:         960532 kB
Dirty:               240 kB
Writeback:             0 kB
AnonPages:        126912 kB
Mapped:            40312 kB
Shmem:              9916 kB
Slab:              37580 kB
SReclaimable:      29036 kB
SUnreclaim:         8544 kB
KernelStack:        1472 kB
PageTables:         3108 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1305560 kB
Committed_AS:    1155244 kB
VmallocTotal:     507904 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB

$ sudo slabtop --once
 Active / Total Objects (% used)    : 186139 / 212611 (87.5%)
 Active / Total Slabs (% used)      : 9115 / 9115 (100.0%)
 Active / Total Caches (% used)     : 66 / 92 (71.7%)
 Active / Total Size (% used)       : 31838.34K / 35031.49K (90.9%)
 Minimum / Average / Maximum Object : 0.02K / 0.16K / 4096.00K

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   
 59968  57222   0%    0.06K    937       64      3748K buffer_head            
 29010  21923   0%    0.13K    967       30      3868K dentry                 
 24306  23842   0%    0.58K   4051        6     16204K ext4_inode_cache       
 22072  20576   0%    0.03K    178      124       712K kmalloc-32             
 10290   9756   0%    0.09K    245       42       980K kmalloc-96             
  9152   4582   0%    0.06K    143       64       572K kmalloc-node           
  9027   8914   0%    0.08K    177       51       708K kernfs_node_cache      
  7007   3830   0%    0.30K    539       13      2156K radix_tree_node        
  5952   4466   0%    0.03K     48      124       192K jbd2_revoke_record_s   
  5889   5870   0%    0.30K    453       13      1812K inode_cache            
  5705   4479   0%    0.02K     35      163       140K file_lock_ctx          
  3844   3464   0%    0.03K     31      124       124K anon_vma               
  3280   3032   0%    0.25K    205       16       820K kmalloc-256            
  2730   2720   0%    0.10K     70       39       280K btrfs_trans_handle     
  2025   1749   0%    0.16K     81       25       324K filp                   
  1952   1844   0%    0.12K     61       32       244K kmalloc-128            
  1826    532   0%    0.05K     22       83        88K trace_event_file       
  1392   1384   0%    0.33K    116       12       464K proc_inode_cache       
  1067   1050   0%    0.34K     97       11       388K shmem_inode_cache      
   987    768   0%    0.19K     47       21       188K kmalloc-192            
   848    757   0%    0.50K    106        8       424K kmalloc-512            
   450    448   0%    0.38K     45       10       180K ubifs_inode_slab       
   297    200   0%    0.04K      3       99        12K eventpoll_pwq          
   288    288 100%    1.00K     72        4       288K kmalloc-1024           
   288    288 100%    0.22K     16       18        64K mnt_cache              
   287    283   0%    1.05K     41        7       328K idr_layer_cache        
   240      8   0%    0.02K      1      240         4K fscrypt_info           

উত্তর:


14
  1. "বাফার" এবং অন্যান্য ক্যাশের মধ্যে পার্থক্য কী?
  2. কেন আমরা এই পার্থক্যটি এত সুস্পষ্টভাবে দেখি? (সম্ভাব্য historicalতিহাসিক কারণ)
  3. কি জন্য Buffersব্যবহার করা হয়?
  4. কেন আমরা Buffersবিশেষত আরও বড় বা ছোট হতে পারে?

1. "বাফার", এবং অন্যান্য ধরণের ক্যাশের মধ্যে পার্থক্য কী?

Buffersব্লক ডিভাইসগুলির জন্য ব্যবহৃত পৃষ্ঠার ক্যাশের পরিমাণের প্রতিবেদন করে। কার্নেলটি প্রতিবেদন করা হলে বাকী পৃষ্ঠা ক্যাশে থেকে এই পরিমাণটি ইচ্ছাকৃতভাবে বিয়োগ করতে হবে Cached

মেমিনফো_প্রোক_শো ( দেখুন ) :

cached = global_node_page_state(NR_FILE_PAGES) -
         total_swapcache_pages() - i.bufferram;
...

show_val_kb(m, "MemTotal:       ", i.totalram);
show_val_kb(m, "MemFree:        ", i.freeram);
show_val_kb(m, "MemAvailable:   ", available);
show_val_kb(m, "Buffers:        ", i.bufferram);
show_val_kb(m, "Cached:         ", cached);

২. কেন আমরা এই পার্থক্যটি এত সুস্পষ্টভাবে দেখি? (সম্ভাব্য historicalতিহাসিক কারণ)

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

[1] মেমরি-ম্যাপযুক্ত I / O - জিএনইউ সি লাইব্রেরি ম্যানুয়াল।
[2] mmap- উইকিপিডিয়া

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

[3] ইউবিসি: নেটবিএসডি-র জন্য একটি দক্ষ ইউনিফাইড আই / ও এবং মেমরি ক্যাচিং সাবসিস্টেম

"লিনাক্স যুক্ত করা একটি আকর্ষণীয় মোড় হ'ল ডিভাইসে ব্লক নম্বরগুলি যেখানে পৃষ্ঠাটি ডিস্কে সঞ্চিত থাকে সেগুলি buffer_headকাঠামোগুলির তালিকার আকারে পৃষ্ঠার সাথে ক্যাশে করা হয় When যখন কোনও পরিবর্তিত পৃষ্ঠাটি ডিস্কে ফিরে লিখতে হয়, I / O পৃষ্ঠার ডেটা কোথায় লিখতে হবে তা নির্ধারণ করার জন্য কোনও অপ্রত্যক্ষ ব্লক পড়ার প্রয়োজন ছাড়াই অনুরোধগুলি ডিভাইস ড্রাইভারকে এখনই পাঠানো যেতে পারে "" [3]

লিনাক্স ২.২ এ লেখার জন্য পৃথক "বাফার ক্যাশে" ব্যবহার করা হয়েছিল, তবে পড়ার জন্য নয়। "পৃষ্ঠার ক্যাশে বাফার ক্যাশে ব্যবহার করে তার তথ্যগুলি আবার লিখে দেয়, তথ্যের অতিরিক্ত কপি প্রয়োজন হয়, এবং কিছু লেখার ভারের জন্য মেমরির প্রয়োজনীয়তা দ্বিগুণ করে" (?)। [4] আসুন বিশদগুলি সম্পর্কে খুব বেশি চিন্তা করবেন না, তবে এই ইতিহাসের কারণেই লিনাক্স Buffersপৃথকভাবে ব্যবহারের রিপোর্ট করে ।

[৪] লিনাক্স ২.৪ মেমরি পরিচালনা , রিক ভ্যান রিয়েল-তে পৃষ্ঠা প্রতিস্থাপন

বিপরীতে, লিনাক্স ২.৪ এবং তারপরে, অতিরিক্ত অনুলিপি উপস্থিত নেই। "সিস্টেমটি পৃষ্ঠা ক্যাশে পৃষ্ঠায় সরাসরি এবং থেকে ডিস্ক আইও করে" "[৪] লিনাক্স ২.৪ 2001 সালে প্রকাশিত হয়েছিল।

৩. কীসের জন্য Buffersব্যবহার করা হয়?

ব্লক ডিভাইসগুলিকে ফাইল হিসাবে বিবেচনা করা হয়, এবং এতে পৃষ্ঠায় ক্যাশে থাকে। এটি "ফাইল সিস্টেম মেটাডেটা এবং কাঁচা ব্লক ডিভাইসগুলির ক্যাচিংয়ের জন্য" ব্যবহৃত হয় [[৪] তবে লিনাক্সের বর্তমান সংস্করণগুলিতে ফাইল সিস্টেমগুলি এর মাধ্যমে ফাইলের সামগ্রীগুলি অনুলিপি করে না, সুতরাং কোনও "ডাবল ক্যাচিং" নেই।

আমি Buffersপৃষ্ঠার ক্যাশের অংশটি লিনাক্স বাফার ক্যাশে হিসাবে মনে করি । যদিও কিছু উত্স এই সংজ্ঞাটির সাথে একমত হতে পারে না।

ফাইল সিস্টেম কতটা বাফার ক্যাশে ব্যবহার করে তা যদি কোনও থাকে তবে নির্দিষ্ট ফাইল সিস্টেমের বিশদ নির্ভর করে। প্রশ্নে থাকা সিস্টেমটি ext4 ব্যবহার করে। ext3 / ext4 জার্নালটির জন্য লিনাক্সের বাফার ক্যাশে, ডিরেক্টরি সামগ্রী এবং অন্যান্য কিছু মেটাডেটা ব্যবহার করে।

Ext3, ext4, এবং ocfs2 সহ কয়েকটি ফাইল সিস্টেম তাদের শারীরিক ব্লক জার্নালিং পরিচালনা করতে jbd বা jbd2 স্তর ব্যবহার করে এবং এই স্তরটি মূলত বাফার ক্যাশে ব্যবহার করে।

- ইমেইল নিবন্ধ দ্বারা টেড TSO , 2013

লিনাক্স কার্নেল সংস্করণ ২.৪ এর আগে, লিনাক্সের পৃথক পৃষ্ঠা এবং বাফার ক্যাশে ছিল। ২.৪ থেকে পৃষ্ঠা এবং বাফার ক্যাশেটি একীভূত এবং Buffersকাঁচা ডিস্ক ব্লকগুলি পৃষ্ঠা ক্যাশে প্রতিনিধিত্ব করে না — অর্থাত্ ফাইল ডেটা নয়।

...

বাফার ক্যাশেটি রয়ে গেছে, কার্নেলকে এখনও পৃষ্ঠাগুলির পরিবর্তে ব্লক I / O সম্পাদন করতে হবে। যেহেতু বেশিরভাগ ব্লকগুলি ফাইল ডেটা উপস্থাপন করে, বেশিরভাগ বাফার ক্যাশে পৃষ্ঠা ক্যাশে দ্বারা প্রতিনিধিত্ব করা হয়। তবে অল্প পরিমাণে ব্লক ডেটা ফাইলযুক্ত নয় — মেটাডেটা এবং কাঁচা ব্লক I / O উদাহরণস্বরূপ — এবং এটি সম্পূর্ণরূপে বাফার ক্যাশে প্রতিনিধিত্ব করে।

- কুয়োরা উত্তর এক জোড়া দ্বারা রবার্ট ভালবাসা , গত 2013 আপডেট করা হয়েছে।

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

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

লিনাস এই মন্তব্য করতে পছন্দ করেছিল যে ব্লফ -আকারের লেখার জন্য বাফার ক্যাশে প্রয়োজন হয় না এবং ফাইল সিস্টেমগুলি আংশিক পৃষ্ঠার মেটাডেটা এমনকি ব্লক ডিভাইসের পরিবর্তে নিজের ফাইলগুলিতে পৃষ্ঠা ক্যাশে সংযুক্ত করে লিখতে পারে। আমি নিশ্চিত যে তিনি বলার অধিকার আছে যে এক্সট 2 এটি করে। ext3 / ext4 এর জার্নালিং সিস্টেমের সাথে হয় না। এই ডিজাইনটির কারণগুলি কী কী সমস্যাগুলি ছিল তা এটি কম স্পষ্ট। তিনি যে লোকগুলিতে রেঁস্তেছিলেন সেগুলি ব্যাখ্যা করে ক্লান্ত হয়ে পড়ে।

লিনাসের রেন্টকে সন্তুষ্ট করতে ext4_readdir () পরিবর্তন করা হয়নি। আমি অন্যান্য ফাইল সিস্টেমের রিডডির () এ ব্যবহৃত তার পছন্দসই পদ্ধতিটি দেখতে পাচ্ছি না। আমি মনে করি এক্সএফএস ডিরেক্টরিগুলির জন্য বাফার ক্যাশেও ব্যবহার করে। bcachefs পঠন ক্যাশে মোটেও পঠিতদির () ব্যবহার করে না; এটি বিটিরিজের জন্য নিজস্ব ক্যাশে ব্যবহার করে। আমি বিটিআরএসএফ-এ কিছু অনুপস্থিত থাকতে পারি।

৪. কেন আমরা Buffersবিশেষত বড় বা ছোট হতে পারে বলে আশা করতে পারি ?

এই ক্ষেত্রে এটি আমার ফাইল সিস্টেমের জন্য এক্সট 4 জার্নালের আকারটি 128 এম হয়। সুতরাং এটি ব্যাখ্যা করে কেন 1) আমার বাফার ক্যাশে 128M এর কিছুটা বেশি স্থিতিশীল হতে পারে; 2) বাফার ক্যাশেটি আমার ল্যাপটপে প্রচুর পরিমাণে র‍্যামের সাথে আনুপাতিকভাবে স্কেল করে না।

কিছু অন্যান্য সম্ভাব্য কারণে, দেখুন নিখরচায় আউটপুটে বাফার কলামটি কী? নোট করুন যে রিপোর্ট করা "বাফারস" freeআসলে Buffersস্ল্যাব মেমরির পুনরুদ্ধার এবং সংমিশ্রণ ।


জার্নাল লিখেছে বাফার ক্যাশে ব্যবহার করে তা যাচাই করার জন্য, আমি একটি দুর্দান্ত ফাইল র‌্যাম (tmpfs) এ একটি ফাইল সিস্টেম সিমুলেটেড করেছিলাম এবং বিভিন্ন জার্নাল আকারের সর্বাধিক বাফার ব্যবহারের তুলনা করি।

# dd if=/dev/zero of=/tmp/t bs=1M count=1000
...
# mkfs.ext4 /tmp/t -J size=256
...
# LANG=C dumpe2fs /tmp/t | grep '^Journal size'
dumpe2fs 1.43.5 (04-Aug-2017)
Journal size:             256M
# mount /tmp/t /mnt
# cd /mnt
# free -w -m
              total        used        free      shared     buffers       cache   available
Mem:           7855        2521        4321         285          66         947        5105
Swap:          7995           0        7995

# for i in $(seq 40000); do dd if=/dev/zero of=t bs=1k count=1 conv=sync status=none; sync t; sync -f t; done
# free -w -m
              total        used        free      shared     buffers       cache   available
Mem:           7855        2523        3872         551         237        1223        4835
Swap:          7995           0        7995

# dd if=/dev/zero of=/tmp/t bs=1M count=1000
...
# mkfs.ext4 /tmp/t -J size=16
...
# LANG=C dumpe2fs /tmp/t | grep '^Journal size'
dumpe2fs 1.43.5 (04-Aug-2017)
Journal size:             16M
# mount /tmp/t /mnt
# cd /mnt
# free -w -m
              total        used        free      shared     buffers       cache   available
Mem:           7855        2507        4337         285          66         943        5118
Swap:          7995           0        7995

# for i in $(seq 40000); do dd if=/dev/zero of=t bs=1k count=1 conv=sync status=none; sync t; sync -f t; done
# free -w -m
              total        used        free      shared     buffers       cache   available
Mem:           7855        2509        4290         315          77         977        5086
Swap:          7995           0        7995

এই উত্তরের ইতিহাস: আমি জার্নালটি দেখতে কীভাবে এসেছি

আমি টেড তসোর ইমেলটি প্রথম খুঁজে পেয়েছি এবং আগ্রহী হয়েছিল যে এটি লেখার ক্যাচিংয়ের উপর জোর দেয় । আমি অবাক করে দেখব যদি "নোংরা", অলিখিত লিখিত তথ্যগুলি আমার সিস্টেমে র্যামের 30% এ পৌঁছাতে সক্ষম হয়েছিল। sudo atopদেখায় যে একটি 10 ​​সেকেন্ডের ব্যবধানে, প্রশ্নযুক্ত সিস্টেম নিয়মিতভাবে কেবল 1 এমবি লিখে রাখে। সংশ্লিষ্ট ফাইল সিস্টেমগুলি এই হারের সাথে 100 গুণ বেশি সময় ধরে রাখতে সক্ষম হবে। (এটি একটি ইউএসবি 2 হার্ড ডিস্ক ড্রাইভে রয়েছে, সর্বোচ্চ থ্রুপুট 20 এমবি / গুলি)।

ব্লকট্রেস ( btrace -w 10 /dev/sda) ব্যবহার করে নিশ্চিত করে যে যে আইওগুলি ক্যাশে হচ্ছে তা অবশ্যই লিখতে হবে, কারণ এখানে প্রায় কোনও ডেটা পড়া হচ্ছে না। এছাড়াও mysqldএটিই একমাত্র ইউজারস্পেস প্রক্রিয়া process

আমি লেখকদের জন্য দায়বদ্ধ পরিষেবাটি বন্ধ করে দিয়েছি (আইসিংগা 2 মাইএসকিএল-এ লেখা) এবং পুনরায় পরীক্ষা করে। আমি "বাফারগুলি" 20M এর নীচে নেমে যেতে দেখেছি - এর জন্য আমার কোনও ব্যাখ্যা নেই - এবং সেখানেই থাকুন। লেখক পুনরায় আরম্ভ করাতে "বাফারস" প্রতি 10 সেকেন্ডের বিরতিতে M 0.1M দ্বারা বাড়ানো দেখায়। আমি পর্যবেক্ষণ করেছি যে এই হারটি ধারাবাহিকভাবে বজায় রেখেছে, 70 এম এবং তারপরে ফিরে যাবে।

চলমান echo 3 | sudo tee /proc/sys/vm/drop_caches"বাফার" কম আবার, 4.5 মিটার উঁচু করার জন্য যথেষ্ট ছিল। এটি প্রমাণ করে যে আমার বাফারগুলি সংগ্রহ করা একটি "পরিষ্কার" ক্যাশে, যা লিনাক্স তত্ক্ষণাত ড্রপ করতে পারে required এই সিস্টেমটি অলিখিত তথ্য সংগ্রহ করছে না । ( drop_cachesকোনও লিখনব্যাক সঞ্চালন করে না এবং তাই নোংরা পৃষ্ঠাগুলি ছাড়তে পারে না you আপনি যদি এমন পরীক্ষা চালাতে চান যা ক্যাশেটি প্রথমে পরিষ্কার করেছিল, আপনি syncকমান্ডটি ব্যবহার করবেন )।

সম্পূর্ণ মাইএসকিএল ডিরেক্টরিটি কেবল 150 মি। জমা হওয়া বাফারগুলি অবশ্যই মাইএসকিএল রচনার মেটাডেটা ব্লকের প্রতিনিধিত্ব করতে পারে, তবে এই ডেটাটির জন্য এতগুলি মেটাডেটা ব্লক থাকবে তা ভাবতে অবাক করেছিলাম।


3

আপনার সংস্করণটির freeসঠিক ধারণা রয়েছে। ডিফল্টরূপে এটি তার রিপোর্টে বাফার এবং ক্যাশে একত্রিত করে। এটি কারণ তারা মূলত একই জিনিস। তারা উভয়ই কম্পিউটারে র‌্যামের স্মরণে রয়েছে (দ্রুততর মাধ্যমিক স্টোরেজ: ডিস্ক এবং এসএসডি), ডিস্ক এবং এসএসডি পড়ার সময় এটি ইতিমধ্যে যা দেখেছিল।

অপারেটিং সিস্টেমটি যদি মনে করে যে স্মৃতিটি অন্য কোনও কিছু দ্বারা আরও ভাল ব্যবহার করা হয় তবে এটি এটিকে মুক্ত করতে পারে। সুতরাং বাফার এবং ক্যাশে সম্পর্কে চিন্তা করবেন না।

তবে ডিভিডি দেখার ফলে বাফার উপরে যেতে পারে এবং অন্যান্য বাফার / ক্যাশে সামগ্রী সরিয়ে নিতে পারে। অতএব আপনি ডিভিডি প্লেয়ারটি চালাতে নোকাছ ব্যবহার করতে পারেন ( যদি এটি কোনও সমস্যার কারণ হয়ে থাকে )।

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