tencent cloud

Cloud Virtual Machine

DokumentasiCloud Virtual MachinePenanganan MasalahMasalah Memori Instance LinuxKesalahan Log fork: Tidak Dapat Mengalokasikan Memori untuk Instance Linux

Kesalahan Log fork: Tidak Dapat Mengalokasikan Memori untuk Instance Linux

Download
Mode fokus
Ukuran font
Terakhir diperbarui: 2022-03-18 21:18:04

Deskripsi Kesalahan

Log berisi pesan kesalahan “fork: Cannot allocate memory” (fork: Tidak dapat mengalokasikan memori).



Kemungkinan Alasan

Masalah ini mungkin disebabkan oleh utas yang berlebihan. Jika utas baru dibuat setelah nilai pid_max tercapai, pesan kesalahan “fork: Cannot allocate memory” (fork: Tidak dapat mengalokasikan memori) muncul.

Solusi

1. Lakukan prosedur pemecahan masalah untuk memeriksa penggunaan memori.
2. Periksa jumlah utas dan ubah konfigurasi pid_max.

Prosedur Pemecahan Masalah

1. Periksa penggunaan memori seperti yang diinstruksikan di Penggunaan Memori Tinggi. Jika penggunaan memori normal, lanjutkan ke langkah berikutnya.
2. Jalankan perintah berikut untuk mendapatkan nilai pid_max.
sysctl -a | grep pid_max
Nilai default pid_max adalah 32768, seperti yang ditunjukkan di bawah ini:


3. Jalankan perintah berikut untuk melihat jumlah total utas.
pstree -p | wc -l
Ketika jumlah total utas telah mencapai pid_max, utas baru akan menyebabkan kesalahan “fork: Cannot allocate memory” (fork: Tidak dapat mengalokasikan memori).
Keterangan:
Anda dapat menggunakan perintah ps -efL untuk menemukan program yang menjalankan banyak utas.
4. Ubah nilai kernel.pid_max dalam file konfigurasi /etc/sysctl.conf menjadi 65535 untuk menambah jumlah utas. Hasilnya harus sebagai berikut:


5. Jalankan perintah berikut agar konfigurasi segera berlaku.
sysctl -p


Bantuan dan Dukungan

Apakah halaman ini membantu?

masukan