Saya bekerja dengan apache2 + php dan aplikasi server web lainnya.
Saya memiliki monitor sebagai sesi yang menghubungkan ke server web. Memori RAM penuh.
Tetapi ketika memutuskan sesi, itu tidak membebaskan memori RAM.
Saya telah memantau melalui free -m
, dan itu menunjukkan memori yang belum pernah dirilis bahkan tanpa sesi sekarang terhubung.
Apakah ada solusinya?
ram
memory-usage
Tejaskumar Tank
sumber
sumber
htop
untuk keperluan pemantauan. Ini jauh lebih intuitif dan tersedia di repo resmi. Jika Anda benar-benar kehabisan memori, beri kami lebih banyak info seperti jenis aplikasi web yang Anda jalankan, jumlah RAM yang Anda miliki, apa yang digunakan dan semua. Tempel output dari -m gratis dan hal-hal seperti itu.Jawaban:
Anda dapat membebaskan memori yang tidak digunakan menggunakan perintah ini:
Perintah ini menyinkronkan data yang di-cache dan kemudian menulis parameter OS saat runtime, terletak di / proc / sys / vm / drop_caches . Parameter ini dibaca oleh kernel sekali, lalu kosongkan memori yang tidak digunakan.
Pada dasarnya, kernel menyimpan tiga bagian dalam cache, yang dapat meningkatkan penggunaan memori:
Menulis ke parameter ini akan menyebabkan kernel untuk menjatuhkan bersih pagecache, gigi palsu dan inode dari RAM, menyebabkan memori menjadi bebas. Ada tiga nilai yang dapat ditugaskan:
Penting: Setelah eksekusi, ini akan kembali ke keadaan normal yang berarti memulai caching pagecache, gigi palsu dan inode lagi. Gunakan tergantung pada konfigurasi dan aplikasi server Anda.
sumber
sudo sync & sudo sysctl -w vm.drop_caches=3
sudo
kedua kalinya. Kalau tidak, saya mendapatkan kesalahansysctl: permission denied on key 'vm.drop_caches'