Dari waktu ke waktu server "saya" terhenti karena kehabisan memori dan ruang swap. (itu terus merespons ping tetapi tidak lebih dari itu, bahkan tidak ssh).
Saya diberi tahu linux bahwa memory overcommitment, yang sejauh yang saya pahami sama dengan yang dilakukan bank dengan uang: ia memberikan bantuan untuk memproses lebih banyak memori daripada yang sebenarnya tersedia, dengan asumsi bahwa sebagian besar proses tidak akan benar-benar menggunakan semua memori yang mereka tanyakan, pada Setidaknya tidak semua pada saat bersamaan.
Harap asumsikan ini adalah penyebab mengapa sistem saya sesekali hang, mari kita tidak membahas di sini apakah ini masalahnya (lihat Apa yang dapat menyebabkan SEMUA layanan pada server turun, namun masih merespons ping? Dan bagaimana mencari tahu ) .
Begitu,
bagaimana cara menonaktifkan atau mengurangi overcommitment memori secara drastis di CentOS? Saya telah membaca ada dua pengaturan yang disebut vm.overcommit_memory (nilai 0, 1, atau 2) dan vm.overcommit_ratiom tapi saya tidak tahu di mana saya harus menemukan dan mengubahnya (beberapa file konfigurasi mudah-mudahan), nilai apa yang harus saya coba , dan apakah saya perlu me-reboot server untuk membuat perubahan efektif.
dan apakah itu aman? Efek samping apa yang bisa saya harapkan? Ketika googling untuk overcommit_memory saya menemukan hal-hal menakutkan seperti orang mengatakan server mereka tidak bisa boot lagi ....
Karena apa yang menyebabkan peningkatan mendadak dalam penggunaan memori adalah mysql karena pertanyaan yang dibuat oleh php yang pada gilirannya dipanggil saat melayani permintaan http, saya berharap hanya beberapa script php gagal untuk menyelesaikan dan karenanya sekitar 500 tanggapan dari waktu ke waktu ketika server terlalu sibuk, yang merupakan risiko yang dapat saya ambil (tentu saja lebih baik yang membuat seluruh server menjadi tidak dapat diakses dan harus mem-boot ulang dengan keras).
Atau dapatkah ini menyebabkan server saya tidak dapat melakukan reboot jika saya memilih pengaturan yang salah?