Cara Menghapus Cache Memori RAM, Buffer, dan Swap di Linux


Seperti sistem operasi lainnya, GNU/Linux telah menerapkan manajemen memori secara efisien dan bahkan lebih dari itu. Namun, jika ada proses yang menghabiskan memori Anda dan Anda ingin menghapusnya, Linux menyediakan cara untuk membersihkan atau menghapus cache RAM.

Pada artikel ini, kita akan mempelajari cara menghapus cache memori RAM, buffer, dan ruang swap pada sistem Linux untuk meningkatkan kinerja secara keseluruhan.

Pengertian RAM Memory Cache, Buffer, dan Swap Space

Mari kita jelajahi cache memori RAM, buffer, dan ruang swap pada sistem Linux.

Cache Memori RAM

Cache memori RAM adalah mekanisme yang digunakan oleh kernel untuk menyimpan data yang diakses secara rutin. Meskipun hal ini meningkatkan respons sistem, cache yang kelebihan beban dapat menyebabkan retensi data usang, sehingga memengaruhi kinerja.

Penyangga

Seperti cache, buffer menyimpan data sementara namun tujuannya berbeda. Buffer menyimpan data yang ditransfer antar komponen seperti CPU dan hard disk, sehingga memfasilitasi komunikasi yang lancar. Namun, kelebihan data yang di-buffer dapat menghambat kecepatan sistem.

Tukar Ruang

Ruang swap adalah area yang dialokasikan pada hard disk yang berfungsi sebagai memori virtual ketika RAM fisik habis. Meskipun mencegah sistem crash karena rendahnya memori, hal ini dapat memperlambat sistem jika digunakan secara berlebihan.

Menghapus Cache, Buffer, dan Swap Space di Linux

Dalam situasi tertentu, Anda mungkin perlu menghapus cache, buffer, atau swap space seperti yang dijelaskan di bawah.

Bagaimana Cara Menghapus Cache Memori RAM di Linux?

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

Menghapus PageCache

1. Untuk menghapus PageCache saja, Anda dapat menggunakan perintah berikut, yang secara khusus akan menghapus PageCache, sehingga membantu mengosongkan sumber daya memori.

sudo sync; echo 1 > /proc/sys/vm/drop_caches

Membersihkan Penyok dan Inode

2. Untuk menghapus dentries dan inode saja, Anda dapat menggunakan perintah berikut, yang akan menyinkronkan sistem file dan menghapus dentries dan inode, meningkatkan kinerja sistem dengan merilis direktori cache dan informasi inode.

sudo sync; echo 2 > /proc/sys/vm/drop_caches

Menghapus PageCache, Dentries, dan Inode

3. Untuk menghapus pagecache, dentries, dan inode, Anda dapat menggunakan perintah berikut, yang akan menyinkronkan sistem file dan menghapus cache halaman, dentries, dan inode, membantu mengosongkan memori dan meningkatkan kinerja sistem.

sudo sync; echo 3 > /proc/sys/vm/drop_caches 

Berikut penjelasan setiap bagian dari perintah di atas:

  • sudo digunakan untuk menjalankan perintah sebagai pengguna super.
  • sinkronisasi akan menghapus buffer sistem file.
  • “; ” titik koma digunakan untuk memisahkan beberapa perintah dalam satu baris.
  • Perintah echo 3 > /proc/sys/vm/drop_caches digunakan untuk membuang cache halaman, tempat penyimpanan sementara untuk file yang baru-baru ini diakses.

Catatan: File drop_caches mengontrol jenis data cache mana yang harus dihapus dan nilainya adalah sebagai berikut:

  • 1 – Hanya menghapus cache halaman.
  • 2 – Membersihkan dentri dan inode.
  • 3 – Menghapus cache halaman, dentry, dan inode.

Seperti disebutkan dalam dokumentasi kernel, menulis ke drop_caches akan membersihkan cache tanpa mematikan aplikasi/layanan apa pun, perintah echo melakukan tugas menulis ke file.

Jika Anda harus menghapus cache disk, perintah pertama yang paling aman di perusahaan dan produksi adalah “...echo 1 > …. ” hanya akan menghapus PageCache.

Tidak disarankan untuk menggunakan opsi ketiga di atas “...echo 3 > ” dalam produksi sampai Anda mengetahui apa yang Anda lakukan, karena ini akan menghapus pagecache, dentries, dan inode.

Bagaimana Cara Menghapus Ruang Swap di Linux?

Untuk mengosongkan ruang swap, Anda dapat menggunakan perintah swapoff dengan opsi -a, yang akan menonaktifkan semua partisi swap.

sudo swapoff -a

Kemudian, hidupkan kembali dengan menjalankan perintah berikut, yang akan mengaktifkan semua partisi swap.

sudo swapon -a

Apakah Disarankan Membebaskan Buffer, Cache, dan Swap di Linux?

Secara umum, bukanlah ide yang baik untuk mengosongkan Buffer dan Cache secara manual di Linux yang mungkin digunakan oleh kernel Linux, yang dirancang untuk mengelola sumber daya ini secara efisien, dan menghapusnya secara manual dapat mengganggu kinerja sistem.

Namun, mungkin ada situasi yang jarang terjadi saat Anda perlu menghapus Buffer dan Cache, misalnya jika Anda mengalami tekanan memori yang parah dan tidak dapat mengosongkan memori dengan cara lain. Dalam kasus ini, Anda harus melanjutkan dengan hati-hati dan waspada terhadap potensi dampak kinerja.

Demikian pula, membersihkan ruang swap di Linux umumnya bukan merupakan praktik rutin atau disarankan dalam keadaan normal.

Mengotomatiskan Optimasi Memori

Untuk mengotomatiskan proses dan menghapus memori secara teratur, Anda dapat mengatur tugas cron untuk menjalankan perintah pada interval tertentu.

Buka konfigurasi crontab.

crontab -e

Tambahkan baris berikut untuk menghapus cache, buffer, dan ruang swap setiap hari pada tengah malam:

0 0 * * * sudo sync; echo 3 > /proc/sys/vm/drop_caches
0 0 * * * sudo echo 1 > /proc/sys/vm/drop_caches
0 0 * * * sudo sync; echo 2 > /proc/sys/vm/drop_caches
0 0 * * * sudo swapoff -a && sudo swapon -a

Untuk informasi tambahan tentang penjadwalan pekerjaan dengan cron, Anda mungkin ingin merujuk ke artikel kami yang berjudul '11 Pekerjaan Penjadwalan Cron'.

Apakah Disarankan Menghapus Cache RAM di Server Produksi Linux?

Tidak, bukan itu. Pertimbangkan skenario di mana Anda menjadwalkan skrip untuk menghapus cache RAM setiap hari pada jam 2 pagi. Setiap hari pada jam 2 pagi, skrip dijalankan, membersihkan cache RAM Anda. Namun, suatu hari, secara tak terduga sejumlah besar pengguna sedang online di situs web Anda, sehingga menimbulkan permintaan yang signifikan pada sumber daya server Anda.

Secara bersamaan, skrip terjadwal berjalan dan menghapus semua yang ada di cache. Sekarang, semua pengguna mengambil data dari disk, yang berpotensi menyebabkan kerusakan server dan kerusakan database. Oleh karena itu, penting untuk menghapus cache RAM hanya jika diperlukan, dengan memperhatikan tindakan Anda. Jika tidak, Anda berisiko menjadi Administrator Sistem Cargo Cult.

Kesimpulan

Manajemen memori yang efisien sangat penting untuk kelancaran sistem Linux. Membersihkan cache memori RAM, buffer, dan ruang swap secara teratur dapat meningkatkan kinerja sistem secara signifikan. Dengan memahami mekanisme ini dan menggunakan perintah yang disediakan, Anda dapat menjaga sistem Linux Anda tetap berjalan pada kondisi terbaiknya.

Itu saja untuk saat ini. Jika Anda menikmati artikel ini, harap ingat untuk membagikan umpan balik Anda yang berharga di komentar. Beri tahu kami pendapat Anda tentang apa yang Anda yakini sebagai pendekatan yang baik untuk membersihkan cache dan buffer RAM di lingkungan produksi dan perusahaan.