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 -suntuk menentukan swap yang diaktifkan, saya biasa swapoff -amenonaktifkan semua swap dan swapon -slagi 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)?
fstabbaris tentang swap. Coba jika perilakunya sama.
swapoff -aharus 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 -akarena swap adalah 0 pada waktu itu.
swapoff -aadalah tidak permanen.
swapoff -asendiri , 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 -ayang menyebabkan "badai" I / O?