Saya menggunakan Debian sid, hard drive diformat dengan ext4, berjalan di linux 3.1
Saya ingat pada versi linux sebelumnya (mungkin sebelum 3.0), jika saya kehabisan memori, dan swap tidak diaktifkan, program biasanya akan macet. Ini sempurna untuk lingkungan saya: penjelajahan web sederhana tanpa operasi kritis. Yaitu, jika saya secara tidak sengaja menjalankan situs web yang buruk yang menggunakan terlalu banyak memori, hanya macet tanpa membuat terminal saya tidak dapat digunakan.
Tetapi dalam pengaturan saya saat ini, komputer hang dengan I / O throughput yang kasar di latar belakang. Iotop mengungkapkan kswapd0 menjadi pelakunya, yang berarti ini disebabkan oleh swapping. Setelah menggunakan swapon -s
untuk menentukan swap yang diaktifkan, saya biasa swapoff -a
menonaktifkan semua swap dan swapon -s
lagi untuk mengkonfirmasi bahwa semua swap dinonaktifkan.
Kemudian saya mencoba memaksimalkan penggunaan memori saya lagi. Sayangnya, perilaku yang saya harapkan tidak terjadi. Sebagai gantinya, kswapd0 mencoba berkali-kali untuk menukar keluar RAM dan gagal karena tidak ada ruang swap. Karena tidak pernah menyerah, komputer saya terkunci dalam pembekuan I / O yang kekal, buruk bagi kesehatan disk saya.
Apakah saya melakukan sesuatu yang salah dalam berusaha swapoff -a
? Mengapa perilaku berbeda dari apa yang dulu (mungkin pra-3,0 kali)?
fstab
baris tentang swap. Coba jika perilakunya sama.
swapoff -a
harus menonaktifkan swap secara permanen, artinya harus tetap dinonaktifkan setelah reboot berikutnya. Saya mengkonfirmasi ini. Namun, "badai" I / O masih terjadi selama sesi setelah reboot berikutnya. Sebagai catatan, "badai" I / O tidak terjadi pada saat saya melakukannya swapoff -a
karena swap adalah 0 pada waktu itu.
swapoff -a
adalah tidak permanen.
swapoff -a
sendiri , jika ada hal-hal dalam swap, akan menghasilkan banyak I / O (dan dapat mengakibatkan proses terbunuh jika tidak tersedia cukup RAM nyata). Apakah Anda yakin bukanswapoff -a
yang menyebabkan "badai" I / O?