Cara menghapus cache memori RAM, buffer dan menukar ruang di Linux

Cara menghapus cache memori RAM, buffer dan menukar ruang di Linux

Seperti sistem operasi lainnya, GNU/Linux telah menerapkan manajemen memori secara efisien dan bahkan lebih dari itu. Tetapi jika ada proses yang menggerogoti ingatan Anda dan Anda ingin membersihkannya, Linux menyediakan cara untuk menyiram atau membersihkan cache ram.

  • Temukan 15 proses teratas berdasarkan penggunaan memori di Linux
  • Temukan Proses Running Top dengan memori tertinggi dan penggunaan CPU di Linux
  • Cara Membatasi Penggunaan Proses Waktu dan Memori di Linux

Cara menghapus cache di linux?

Setiap sistem Linux memiliki tiga opsi untuk menghapus cache tanpa mengganggu proses atau layanan apa pun.

1. Hapus pagecache saja.

# sinkronisasi; Echo 1>/proc/sys/vm/drop_caches 

2. Bersihkan gigi dan inode.

# sinkronisasi; Echo 2>/proc/sys/vm/drop_caches 

3. Hapus pagecache, dentries, dan inode.

# sinkronisasi; Echo 3>/proc/sys/vm/drop_caches 

Penjelasan dari perintah di atas.

sinkronisasi akan menyiram buffer sistem file. Perintah dipisahkan oleh ";" Jalankan secara berurutan. Shell menunggu setiap perintah untuk berakhir sebelum menjalankan perintah berikutnya dalam urutan. Seperti yang disebutkan dalam dokumentasi kernel, menulis ke drop_cache Akan membersihkan cache tanpa membunuh aplikasi/layanan apa pun, perintah Echo melakukan pekerjaan menulis untuk mengajukan.

Jika Anda harus menghapus cache disk, perintah pertama paling aman di perusahaan dan produksi sebagai “… Echo 1>… ." akan membersihkan Pagecache hanya. Tidak disarankan untuk menggunakan opsi ketiga di atas “… Echo 3>” dalam produksi sampai Anda tahu apa yang Anda lakukan, karena akan jelas pagecache, Dentries, Dan Inode.

Apakah itu ide yang bagus untuk membebaskan buffer dan cache di linux yang mungkin digunakan oleh linux kernel?

Buffer dan cache gratis di linux

Saat Anda menerapkan berbagai pengaturan dan ingin memeriksa, jika itu benar-benar diimplementasikan secara khusus pada tolok ukur I/O-Extensive, maka Anda mungkin perlu menghapus cache buffer. Anda dapat menjatuhkan cache seperti yang dijelaskan di atas tanpa me -reboot sistem i.e., Tidak diperlukan waktu henti.

Linux dirancang sedemikian rupa sehingga melihat ke dalam cache disk sebelum melihat ke disk. Jika menemukan sumber daya dalam cache, maka permintaan tidak mencapai disk. Jika kita membersihkan cache, cache disk akan kurang berguna karena OS akan mencari sumber daya di disk.

Selain itu, itu juga akan memperlambat sistem selama beberapa detik saat cache dibersihkan dan setiap sumber daya yang dibutuhkan oleh OS dimuat lagi dalam cache disk.

Sekarang kita akan membuat skrip shell untuk menghapus ram cache setiap hari di 2 pagi melalui tugas penjadwal cron. Buat skrip shell Clearcache.SH dan tambahkan baris berikut.

#!/bin/bash # note, kami menggunakan "echo 3", tetapi tidak disarankan dalam produksi sebagai gantinya menggunakan "echo 1" echo "echo 3>/proc/sys/vm/drop_caches" 

Tetapkan izin eksekusi di Clearcache.SH mengajukan.

# CHMOD 755 Clearcache.SH 

Sekarang Anda dapat menghubungi skrip setiap kali Anda diharuskan untuk menghapus cache ram.

Sekarang atur cron untuk membersihkan cache ram setiap hari pada jam 2 pagi. Membuka crontab untuk pengeditan.

# crontab -e 

Tambahkan baris di bawah ini, simpan dan keluar untuk menjalankannya di 2 pagi sehari-hari.

0 2 * * */path/to/clearcache.SH 

Untuk detail lebih lanjut tentang cara membuat pekerjaan, Anda mungkin ingin memeriksa artikel kami tentang 11 pekerjaan penjadwalan cron.

Apakah itu ide yang bagus untuk secara otomatis menghapus cache RAM di server produksi?

Bersihkan cache RAM di server produksi Linux?

TIDAK! bukan itu. Pikirkan situasi ketika Anda telah menjadwalkan skrip untuk menghapus cache ram setiap hari di 2 pagi. Setiap hari jam 2 pagi skrip dieksekusi dan menyiram cache ram Anda. Suatu hari karena alasan apa pun mungkin lebih dari yang diharapkan pengguna online di situs web Anda dan mencari sumber daya dari server Anda.

Pada saat yang sama, skrip yang dijadwalkan berjalan dan menghapus semuanya di cache. Sekarang semua pengguna mengambil data dari disk. Itu akan mengakibatkan server crash dan merusak database. Jadi jelas Ram-Cache hanya jika diperlukan, dan diketahui langkah Anda, kalau tidak, Anda adalah administrator sistem kultus kargo.

Cara membersihkan ruang swap di linux?

Jika Anda ingin menghapus ruang swap, Anda mungkin ingin menjalankan perintah di bawah ini.

# swapoff -a && swapon -a 

Anda juga dapat menambahkan perintah di atas ke skrip cron di atas, setelah memahami semua risiko yang terkait.

Sekarang kita akan menggabungkan kedua perintah di atas menjadi satu perintah tunggal untuk membuat skrip yang tepat untuk menghapus cache ram dan menukar ruang.

# echo 3>/proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\ n%s \ n "Ram -cache dan swap dibersihkan' atau $ su -c" echo 3> '/proc/ sys/vm/drop_caches '&& swapoff -a && swapon -a && printf' \ n%s \ n "ram cache dan swap dibersihkan '" root "root 

Setelah menguji kedua perintah di atas, kami akan menjalankan perintah "gratis -h“Sebelum dan sesudah menjalankan skrip dan akan memeriksa cache.

Itu saja untuk saat ini, jika Anda menyukai artikel ini, jangan lupa memberi kami umpan balik berharga Anda di komentar untuk memberi tahu kami, apa yang menurut Anda adalah ide yang baik untuk menghapus cache ram dan buffer dalam produksi dan perusahaan?