Kernel Linux tidak dapat mengendalikan situasi kehabisan memori dengan anggun

Pada senarai mel pembangun kernel Linux dinaikkan Masalah dengan mengendalikan keadaan memori rendah dalam Linux:

Terdapat isu yang diketahui yang telah melanda ramai orang selama bertahun-tahun dan boleh diterbitkan semula dalam masa kurang daripada beberapa minit pada kernel Linux terkini 5.2.6. Semua parameter kernel ditetapkan kepada nilai lalai.

Langkah-langkah:

  • But dengan parameter "mem=4G".
  • Matikan sokongan swap (sudo swapoff -a).
  • Kami melancarkan mana-mana penyemak imbas web, contohnya, Chrome/Chromium dan/atau Firefox.
  • Kami mula membuka tab dengan tapak dan melihat bagaimana jumlah memori percuma berkurangan.

Sebaik sahaja keadaan timbul di mana tab baharu memerlukan lebih banyak RAM daripada yang tersedia, sistem hampir terhenti sepenuhnya. Anda akan menghadapi kesukaran walaupun menggerakkan kursor tetikus. Penunjuk cakera keras akan berkelip tanpa henti (saya tidak tahu mengapa). Anda tidak akan dapat melancarkan aplikasi baharu atau menutup aplikasi yang sedang berjalan.

Krisis kecil ini boleh bertahan beberapa minit atau lebih lama. Saya rasa sistem tidak sepatutnya berkelakuan seperti ini. Saya rasa sesuatu perlu dilakukan untuk mengelakkan "pembekuan" sedemikian.

Saya agak pasti ada kemungkinan untuk menukar beberapa parameter sysctl untuk mengelakkan situasi seperti ini, tetapi sesuatu memberitahu saya bahawa ini boleh menjadi lalai untuk semua orang kerana pengguna bukan teknikal yang menghadapi masalah ini hanya akan berputus asa menggunakan Linux dan tidak akan peduli untuk mencari penyelesaian di Google.

Π’ komen pada Reddit, sesetengah pengguna mencadangkan untuk membolehkan pertukaran, tetapi ini tidak menyelesaikan masalah, ia hanya menangguhkannya dan sering memburukkan lagi. Sebagai penyelesaian yang mungkin pada masa hadapan, yang muncul dalam kernel mungkin terlibat 4.20 dan bertambah baik dalam teras 5.2 Subsistem PSI (Pressure Stall Information), yang membolehkan anda menganalisis maklumat tentang masa menunggu untuk menerima pelbagai sumber (CPU, memori, I/O). Subsistem ini memungkinkan untuk mengatur pemantauan kekurangan memori pada peringkat awal, menentukan punca masalah dan menamatkan aplikasi yang tidak penting tanpa menyebabkan kesan yang ketara kepada pengguna.

Sumber: opennet.ru

Tambah komen