全部产品
Search
文档中心

:Apa yang harus saya lakukan jika pesan kesalahan task: Cannot allocate memory muncul saat saya memulai layanan pada instance Linux?

更新时间:Jul 02, 2025

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.Cannot allocate memory

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.
  1. Hubungkan ke instance ECS Linux.
    Untuk informasi lebih lanjut, lihat Ikhtisar Metode Koneksi.
  2. 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.

  3. Jalankan salah satu perintah berikut untuk meningkatkan nilai parameter kernel.pid_max. Dalam perintah tersebut, ganti XXXX dengan nilai baru.
      • sysctl -w kernel.pid_max=XXXX
      • echo 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.