Jawaban untuk pertanyaan utama ada di bawah - tetapi pertama-tama ada peringatan terkait saran Mirra:
Hati-hati dengan ini:
Di :/proc/sys/vm/overcommit_memory saya coba taruh disana 2.
Dalam hal ini, meskipun memori fisik tersedia, semua proses yang meminta memori dari OS saat vmcom lebih besar dari vmlim akan menerima kesalahan (Saya mengalami banyak kesalahan dan gagal dengan aplikasi sistem dasar seperti compiz). Dan karena:
vmlim =SWAP_size + 0,5 * RAM_size.
di mana 0,5 (50%) adalah nilai default untuk parameter /proc/sys/vm/overcommit_ratio Anda dapat dengan mudah mendapatkan banyak kesalahan seperti saya.
Jawab ke pertanyaan utama:lebih baik mengembalikan perubahan dalam parameter overcommit_memory kembali ke nilai default (0 untuk saya (Ubuntu 12,04 LTS), tetapi bisa 1 untuk OS lain). Menurut artikel bagus kami dapat menghitung memori yang sebenarnya digunakan oleh proses:
MemoriDigunakan ~ total - (cache + buff + gratis) ~ 23,6G - ( 6,7G + 0,067G + 0,136G) ~ 16,7G
Jadi hanya 16.7G yang benar-benar digunakan oleh proses (dari 23.6G RAM yang dipasang) dan garis merah di atas keluaran dapat diabaikan.