Deskripsi masalah
Saat memulai proses layanan pada instance Elastic Compute Service (ECS) Linux, pesan kesalahan 
task: Cannot allocate memory muncul seperti yang ditunjukkan pada gambar berikut.
Penyebab
Masalah ini dapat terjadi karena jumlah maksimum proses sistem yang diizinkan untuk berjalan secara bersamaan telah terlampaui.
Dalam kernel Linux, parameter
kernel.pid_max menentukan jumlah maksimum proses yang diizinkan untuk berjalan secara bersamaan. Jika jumlah proses yang sedang berjalan di sistem operasi melebihi nilai parameter kernel.pid_max, sistem operasi tidak dapat membuat proses baru dan menampilkan pesan kesalahan berikut: task: Cannot allocate memory. Catatan Jika jumlah proses yang sedang berjalan di sistem operasi melebihi dua pertiga dari nilai parameter
kernel.pid_max, disarankan untuk meningkatkan nilai parameter kernel.pid_max guna memastikan layanan lainnya dapat berjalan sesuai harapan.Solusi
Lakukan langkah-langkah berikut untuk meningkatkan nilai parameter
kernel.pid_max sesuai kebutuhan bisnis Anda. Catatan Untuk sistem operasi 64-bit, nilai maksimum parameter
kernel.pid_max adalah 222. Untuk sistem operasi 32-bit, nilai maksimum parameter kernel.pid_max adalah 32.768.- Hubungkan ke instance ECS Linux. Untuk informasi lebih lanjut, lihat Ikhtisar Metode Koneksi.
- Periksa apakah jumlah proses yang sedang berjalan di sistem operasi melebihi jumlah maksimum yang diizinkan.
- Jalankan perintah berikut untuk melihat jumlah proses yang sedang berjalan di sistem operasi:
ps -eLf | wc -l - Jalankan perintah berikut untuk melihat jumlah maksimum proses yang diizinkan untuk berjalan secara bersamaan di sistem operasi:
sysctl kernel.pid_max
Jika jumlah proses yang sedang berjalan di sistem operasi melebihi jumlah maksimum yang diizinkan, lanjutkan ke Langkah 3.
- Jalankan perintah berikut untuk melihat jumlah proses yang sedang berjalan di sistem operasi:
- Jalankan salah satu perintah berikut untuk meningkatkan nilai parameter
kernel.pid_max. Dalam perintah tersebut, gantiXXXXdengan nilai baru.sysctl -w kernel.pid_max=XXXXecho XXXX> /proc/sys/kernel/pid_max
- Jalankan perintah berikut untuk secara permanen meningkatkan nilai parameter kernel.pid_max. Nilai baru tetap berlaku tanpa memandang status instance.
echo "kernel.pid_max=XXXX" >> /etc/sysctl.conf sysctl -p
Setelah mengubah nilai parameter kernel.pid_max, nilai baru segera berlaku.