Kernel Linux

Memahami vm.pertukaran

Memahami vm.pertukaran
Kernel Linux adalah perangkat lunak yang agak kompleks dengan daftar panjang komponen seperti modul, antarmuka, dan file konfigurasi [1]. Komponen-komponen ini dapat dikonfigurasi dengan nilai tertentu untuk mencapai perilaku atau mode operasi komponen yang diinginkan [2,3,4]. Selanjutnya, pengaturan ini secara langsung memengaruhi perilaku dan kinerja sistem Linux Anda secara keseluruhan.

Nilai kernel Linux saat ini dan komponennya dapat diakses menggunakan antarmuka khusus - direktori /proc [5]. Ini adalah sistem file virtual di mana file tunggal diisi dengan nilai secara real time. Nilai-nilai tersebut mewakili keadaan sebenarnya dari kernel Linux. Anda dapat mengakses file individual di direktori /proc menggunakan perintah cat sebagai berikut:

$ cat /proc/sys/net/core/somaxconn
128
$

Salah satu parameter kernel ini disebut vm.pertukaran. Ini "mengontrol bobot relatif yang diberikan untuk menukar memori runtime, sebagai lawan menjatuhkan halaman memori dari cache halaman sistem" [6]. Dimulai dengan rilis kernel Linux 2.6 nilai ini diperkenalkan. Itu disimpan di file /proc/sys/vm/swappiness .

Menggunakan Tukar

Penggunaan swap [6] adalah bagian penting dari penggunaan mesin UNIX yang lebih kecil di awal 1990-an. Itu masih berguna (seperti memiliki ban serep di kendaraan Anda) ketika kebocoran memori yang buruk mengganggu pekerjaan Anda. Mesin akan melambat tetapi dalam banyak kasus masih dapat digunakan untuk menyelesaikan tugas yang diberikan. Pengembang perangkat lunak bebas telah membuat langkah besar untuk mengurangi dan menghilangkan kesalahan program, jadi sebelum mengubah parameter kernel, pertimbangkan untuk memperbarui ke versi yang lebih baru dari aplikasi Anda dan pustaka terkait terlebih dahulu.

Jika Anda menjalankan banyak tugas, maka tugas yang tidak aktif akan ditukar ke disk, memanfaatkan memori dengan lebih baik dengan tugas aktif Anda. Pengeditan video dan aplikasi lain yang memakan memori besar sering kali merekomendasikan jumlah memori dan ruang disk. Jika Anda memiliki mesin lama yang tidak dapat memiliki upgrade memori, maka menyediakan lebih banyak swap mungkin merupakan solusi sementara yang baik untuk Anda (lihat [6] tentang cara mempelajari lebih lanjut tentang itu).

Pertukaran dapat terjadi pada partisi terpisah atau pada file swap. Partisi lebih cepat dan disukai oleh banyak aplikasi database. Pendekatan file lebih fleksibel (lihat paket dphys-swapfile di Debian GNU/Linux [7]). Memiliki lebih dari satu perangkat fisik untuk bertukar memungkinkan kernel Linux untuk memilih perangkat yang paling cepat tersedia (latensi lebih rendah).

vm.pertukaran

Nilai default dari vm.swappiness adalah 60 dan mewakili persentase memori bebas sebelum mengaktifkan swap. Semakin rendah nilainya, semakin sedikit swapping yang digunakan dan semakin banyak halaman memori yang disimpan di memori fisik.

Nilai 60 adalah kompromi yang bekerja dengan baik untuk sistem desktop modern. Nilai yang lebih kecil adalah opsi yang disarankan untuk sistem server, sebagai gantinya. Seperti yang ditunjukkan oleh manual Red Hat Performance Tuning [8], nilai swappiness yang lebih kecil direkomendasikan untuk beban kerja database. Misalnya, untuk database Oracle, Red Hat merekomendasikan nilai swappiness 10. Sebaliknya, untuk database MariaDB, disarankan untuk mengatur swappiness ke nilai 1 [9].

Mengubah nilai secara langsung mempengaruhi kinerja sistem Linux. Nilai-nilai ini didefinisikan:

* 0: swap dinonaktifkan
* 1: jumlah minimum swap tanpa menonaktifkan sepenuhnya
* 10: nilai yang direkomendasikan untuk meningkatkan kinerja ketika ada memori yang cukup dalam sistem
* 100: pertukaran agresif

Seperti yang ditunjukkan di atas, perintah cat membantu membaca nilainya. Selain itu, perintah sysctl memberi Anda hasil yang sama:

# sysctl vm.pertukaran
vm.pertukaran = 60
#

Ingatlah bahwa perintah sysctl hanya tersedia untuk pengguna administratif administrative. Untuk menetapkan nilai sementara, atur nilai dalam sistem file /proc sebagai berikut:

# echo 10 > /proc/sys/vm/swappiness

Sebagai alternatif, Anda dapat menggunakan perintah sysctl sebagai berikut:

# sysctl -w vm.pertukaran = 10

Untuk mengatur nilai secara permanen, buka file /etc/sysctl.conf sebagai pengguna administratif dan tambahkan baris berikut:

vm.pertukaran = 10

Kesimpulan

Semakin banyak pengguna linux yang menjalankan mesin virtual. Masing-masing memiliki kernel sendiri selain hypervisor yang sebenarnya mengontrol perangkat keras. Mesin virtual memiliki disk virtual yang dibuat untuk mereka, jadi mengubah pengaturan di dalam mesin virtual akan memiliki hasil yang tidak pasti. Percobaan pertama dengan mengubah nilai kernel hypervisor, karena sebenarnya mengontrol perangkat keras di mesin Anda.

Untuk mesin lama yang tidak dapat lagi ditingkatkan (sudah memiliki memori maksimum yang didukung), Anda dapat mempertimbangkan untuk menempatkan disk solid state kecil di mesin untuk menggunakannya sebagai perangkat swap tambahan. Ini jelas akan menjadi bahan habis pakai karena sel memori gagal karena banyak penulisan, tetapi dapat memperpanjang umur mesin selama satu tahun atau lebih dengan biaya yang sangat rendah. Latensi yang lebih rendah dan pembacaan cepat akan memberikan kinerja yang jauh lebih baik daripada menukar ke disk biasa, memberikan hasil antara untuk RAM. Ini seharusnya memungkinkan Anda untuk menggunakan vm . yang agak lebih rendah.nilai swappiness untuk kinerja optimal optimal. Anda harus bereksperimen. Perangkat SSD berubah dengan cepat.

Jika Anda memiliki lebih dari satu perangkat swap, pertimbangkan untuk menjadikannya perangkat RAID untuk menghapus data di seluruh perangkat yang tersedia.

Anda dapat membuat perubahan dalam swappiness tanpa me-reboot mesin, sebuah keuntungan besar dibandingkan sistem operasi lain.

Coba sertakan hanya layanan yang Anda butuhkan untuk bisnis Anda. Ini akan mengurangi kebutuhan memori, meningkatkan kinerja, dan membuat semuanya lebih sederhana.

Catatan terakhir: Anda akan menambahkan beban ke perangkat swap Anda. Anda akan ingin memantau suhu mereka. Sistem yang terlalu panas akan menurunkan frekuensi CPU dan memperlambat.

Ucapan Terima Kasih

Penulis ingin mengucapkan terima kasih khusus kepada Gerold Rupprecht dan Zoleka Hatitongwe atas komentar kritis dan komentar mereka selama mempersiapkan artikel ini.

Tautan dan Referensi

* [1] Tutorial Kernel Linux untuk Pemula, https://linuxhint.com/linux-kernel-tutorial-pemula/

* [2] Derek Molloy: Menulis Modul Kernel Linux - Bagian 1: Pendahuluan, http://derekmolloy.yaitu/menulis-linux-kernel-module-part-1-introduction/

* [3] Derek Molloy: Menulis Modul Kernel Linux - Bagian 2: Perangkat Karakter, http://derekmolloy.yaitu/menulis-linux-kernel-module-part-2-a-character-device/

* [4] Derek Molloy: Menulis Modul Kernel Linux - Bagian 3: Tombol dan LED, http://derekmolloy.yaitu/kernel-gpio-programming-buttons-and-leds/

* [5] Frank Hofmann: Perintah untuk Mengelola Memori Linux, https://linuxhint.com/commands-to-manage-linux-memory/

* [6] Frank Hofmann: Manajemen Memori Kernel Linux: Ruang Tukar, https://linuxhint.com/linux-memory-management-swap-space/

* [7] paket dphys-swapfile untuk Debian GNU/Linux, https://packages.debian.org/stretch/dphys-swapfile

* [8] Panduan Penyetelan Performa Red Hat, https://access.topi merah.com/documentation/en-us/red_hat_enterprise_linux/6/html/performance_tuning_guide/s-memory-tunables

* [9] Konfigurasi MariaDB, https://mariadb.com/kb/en/library/configuring-swappiness/

Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...
Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...
Tiru klik Mouse dengan mengarahkan mouse menggunakan Clickless Mouse di Windows 10
Menggunakan mouse atau keyboard dalam posisi yang salah dari penggunaan yang berlebihan dapat menyebabkan banyak masalah kesehatan, termasuk keteganga...