GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bagaimana Mengosongkan Buffer Dan Cache Pada Sistem Linux?

Sebelum melakukan pekerjaan pembandingan, bagaimana cara mengosongkan memori (RAM) yang digunakan Kernel Linux untuk buffer dan cache?

Perhatikan bahwa ini sebagian besar berguna untuk pembandingan. Mengosongkan buffer dan cache mengurangi pertunjukan! Jika Anda di sini karena Anda berpikir bahwa membebaskan buffer dan cache adalah hal yang positif, buka dan baca Linux memakan RAM saya!. Singkat cerita:memori bebas adalah memori yang tidak digunakan terbuang memori.

Jawaban yang Diterima:

Mengosongkan cache buffer

Jika Anda ingin mengosongkannya, Anda dapat menggunakan rantai perintah ini.

# free && sync && echo 3 > /proc/sys/vm/drop_caches && free

             total       used       free     shared    buffers     cached
Mem:       1018916     980832      38084          0      46924     355764
-/+ buffers/cache:     578144     440772
Swap:      2064376        128    2064248
             total       used       free     shared    buffers     cached
Mem:       1018916     685008     333908          0        224     108252
-/+ buffers/cache:     576532     442384
Swap:      2064376        128    2064248

Anda dapat memberi sinyal Kernel Linux untuk menghapus berbagai aspek item yang di-cache dengan mengubah argumen numerik ke perintah di atas.

  • Untuk membebaskan cache halaman:

    # echo 1 > /proc/sys/vm/drop_caches
    
  • Untuk membebaskan penyok dan inode:

    # echo 2 > /proc/sys/vm/drop_caches
    
  • Untuk membebaskan pagecache, dentries, dan inode:

    # echo 3 > /proc/sys/vm/drop_caches
    

Di atas dimaksudkan untuk dijalankan sebagai root. Jika Anda mencoba melakukannya menggunakan sudo maka Anda perlu mengubah sedikit sintaks menjadi seperti ini:

$ sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'
$ sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches'
$ sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'

CATATAN: Ada versi yang lebih esoteris dari perintah di atas jika Anda menyukainya:

$ echo "echo 1 > /proc/sys/vm/drop_caches" | sudo sh

Mengapa perubahan sintaks? /bin/echo program berjalan sebagai root, karena sudo , tetapi shell yang mengarahkan output echo ke file root-only masih berjalan seperti Anda. Shell Anda saat ini melakukan pengalihan sebelum sudo dimulai.

Melihat apa yang ada di buffer dan cache

Lihat linux-ftools jika Anda ingin menganalisis isi buffer &cache. Khususnya jika Anda ingin melihat file apa yang sedang di-cache.

fincore

Dengan alat ini Anda dapat melihat file apa yang sedang di-cache dalam direktori tertentu.

File
fincore [options] files...

  --pages=false      Do not print pages
  --summarize        When comparing multiple files, print a summary report
  --only-cached      Only print stats for files that are actually in cache.

Misalnya, /var/lib/mysql/blogindex :

[email protected]:/var/lib/mysql/blogindex# fincore --pages=false --summarize --only-cached * 
stats for CLUSTER_LOG_2010_05_21.MYI: file size=93840384 , total pages=22910 , cached pages=1 , cached size=4096, cached perc=0.004365 
stats for CLUSTER_LOG_2010_05_22.MYI: file size=417792 , total pages=102 , cached pages=1 , cached size=4096, cached perc=0.980392 
stats for CLUSTER_LOG_2010_05_23.MYI: file size=826368 , total pages=201 , cached pages=1 , cached size=4096, cached perc=0.497512 
stats for CLUSTER_LOG_2010_05_24.MYI: file size=192512 , total pages=47 , cached pages=1 , cached size=4096, cached perc=2.127660 
stats for CLUSTER_LOG_2010_06_03.MYI: file size=345088 , total pages=84 , cached pages=43 , cached size=176128, cached perc=51.190476 
stats for CLUSTER_LOG_2010_06_04.MYD: file size=1478552 , total pages=360 , cached pages=97 , cached size=397312, cached perc=26.944444 
stats for CLUSTER_LOG_2010_06_04.MYI: file size=205824 , total pages=50 , cached pages=29 , cached size=118784, cached perc=58.000000 
stats for COMMENT_CONTENT_2010_06_03.MYI: file size=100051968 , total pages=24426 , cached pages=10253 , cached size=41996288, cached perc=41.975764 
stats for COMMENT_CONTENT_2010_06_04.MYD: file size=716369644 , total pages=174894 , cached pages=79821 , cached size=326946816, cached perc=45.639645 
stats for COMMENT_CONTENT_2010_06_04.MYI: file size=56832000 , total pages=13875 , cached pages=5365 , cached size=21975040, cached perc=38.666667 
stats for FEED_CONTENT_2010_06_03.MYI: file size=1001518080 , total pages=244511 , cached pages=98975 , cached size=405401600, cached perc=40.478751 
stats for FEED_CONTENT_2010_06_04.MYD: file size=9206385684 , total pages=2247652 , cached pages=1018661 , cached size=4172435456, cached perc=45.321117 
stats for FEED_CONTENT_2010_06_04.MYI: file size=638005248 , total pages=155763 , cached pages=52912 , cached size=216727552, cached perc=33.969556 
stats for FEED_CONTENT_2010_06_04.frm: file size=9840 , total pages=2 , cached pages=3 , cached size=12288, cached perc=150.000000 
stats for PERMALINK_CONTENT_2010_06_03.MYI: file size=1035290624 , total pages=252756 , cached pages=108563 , cached size=444674048, cached perc=42.951700 
stats for PERMALINK_CONTENT_2010_06_04.MYD: file size=55619712720 , total pages=13579031 , cached pages=6590322 , cached size=26993958912, cached perc=48.533080 
stats for PERMALINK_CONTENT_2010_06_04.MYI: file size=659397632 , total pages=160985 , cached pages=54304 , cached size=222429184, cached perc=33.732335 
stats for PERMALINK_CONTENT_2010_06_04.frm: file size=10156 , total pages=2 , cached pages=3 , cached size=12288, cached perc=150.000000 
---
total cached size: 32847278080

Dengan output di atas Anda dapat melihat bahwa ada beberapa file *.MYD, *.MYI, dan *.frm yang sedang di-cache.

Terkait:Debian – Mengapa 'ls' tiba-tiba membungkus item dengan spasi dalam tanda kutip tunggal?

Tukar

Jika Anda ingin menghapus swap Anda, Anda dapat menggunakan perintah berikut.

$ free
             total       used       free     shared    buffers     cached
Mem:       7987492    7298164     689328          0      30416     457936
-/+ buffers/cache:    6809812    1177680
Swap:      5963772     609452    5354320

Kemudian gunakan perintah ini untuk menonaktifkan swap:

$ swapoff -a

Anda dapat mengonfirmasi bahwa sekarang kosong:

$ free
             total       used       free     shared    buffers     cached
Mem:       7987492    7777912     209580          0      39332     489864
-/+ buffers/cache:    7248716     738776
Swap:            0          0          0

Dan untuk mengaktifkannya kembali:

$ swapon -a

Dan sekarang konfirmasi ulang dengan free :

$ free
             total       used       free     shared    buffers     cached
Mem:       7987492    7785572     201920          0      41556     491508
-/+ buffers/cache:    7252508     734984
Swap:      5963772          0    5963772

Linux
  1. Cara memeriksa Versi OS dan Linux

  2. Bagaimana mengubah identitas sistem Linux

  3. Cara Menghapus Buffer Memori dan Cache di Linux

  1. Cara Menghapus (Flush) Cache DNS di Windows, MacOS, dan Linux

  2. Cara memasang dan memasang sistem file di Linux

  3. Apa perbedaan antara buffer dan memori cache di Linux?

  1. Cara Menemukan Siapa yang Mem-boot Ulang Sistem Linux Dan Kapan

  2. Cara Menemukan dan Menghapus Direktori Kosong di Linux

  3. Cara Menemukan Ukuran Total Direktori di Linux