

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pekerjaan terjebak dalam `RUNNABLE` status
<a name="job_stuck_in_runnable"></a>

Misalkan lingkungan komputasi Anda berisi sumber daya komputasi, tetapi pekerjaan Anda tidak berkembang melampaui status. `RUNNABLE` Kemudian, kemungkinan ada sesuatu yang mencegah pekerjaan ditempatkan pada sumber daya komputasi dan menyebabkan antrian pekerjaan Anda diblokir. Berikut cara mengetahui apakah pekerjaan Anda sedang menunggu giliran atau macet dan memblokir antrian.

Jika AWS Batch mendeteksi bahwa Anda memiliki `RUNNABLE` pekerjaan di kepala dan memblokir antrian, Anda akan menerima [Acara yang diblokir antrean pekerjaan](batch-job-queue-blocked-events.md) acara dari Amazon CloudWatch Events dengan alasannya. Alasan yang sama juga diperbarui ke `statusReason` bidang sebagai bagian dari `[ListJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_ListJobs.html)` dan panggilan `[DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)` API. 

Secara opsional, Anda dapat mengonfigurasi `jobStateTimeLimitActions` parameter melalui `[CreateJobQueue](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateJobQueue.html)` dan tindakan [https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateJobQueue.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateJobQueue.html)API.

**catatan**  
Saat ini, untuk antrian pekerjaan yang terhubung ke lingkungan komputasi Amazon ECS, Amazon EKS, atau Fargate, satu-satunya tindakan yang dapat Anda gunakan adalah membatalkan pekerjaan. `jobStateLimitActions.action`

`jobStateTimeLimitActions`Parameter ini digunakan untuk menentukan serangkaian tindakan yang AWS Batch dilakukan pada pekerjaan dalam keadaan tertentu. Anda dapat mengatur ambang waktu dalam hitungan detik melalui `maxTimeSeconds` bidang.

Ketika pekerjaan telah dalam `RUNNABLE` keadaan dengan yang ditentukan`statusReason`, AWS Batch melakukan tindakan yang ditentukan setelah `maxTimeSeconds` telah berlalu.

Misalnya, Anda dapat mengatur `jobStateTimeLimitActions` parameter untuk menunggu hingga 4 jam untuk pekerjaan apa pun di `RUNNABLE` negara bagian yang menunggu kapasitas yang cukup tersedia. Anda dapat melakukan ini dengan mengatur `statusReason` ke `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY` dan `maxTimeSeconds` ke 14400 sebelum membatalkan pekerjaan dan memungkinkan pekerjaan berikutnya untuk maju ke kepala antrian pekerjaan.

Berikut ini adalah alasan yang AWS Batch memberikan ketika mendeteksi bahwa antrian pekerjaan diblokir. Daftar ini menyediakan pesan yang dikembalikan dari tindakan `ListJobs` dan `DescribeJobs` API. Ini juga merupakan nilai yang sama yang dapat Anda tentukan untuk `jobStateLimitActions.statusReason` parameter. 

1. **Alasan:** Semua lingkungan komputasi yang terhubung memiliki kesalahan kapasitas yang tidak mencukupi. Saat diminta, AWS Batch mendeteksi instans Amazon EC2 yang mengalami kesalahan kapasitas tidak mencukupi. Membatalkan pekerjaan secara manual akan memungkinkan pekerjaan berikutnya untuk pindah ke kepala antrian.
   + **`statusReason`pesan saat pekerjaan macet:** `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName]`
   + **`reason`digunakan untuk`jobStateTimeLimitActions`:** `CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`
   + **`statusReason`pesan setelah pekerjaan dibatalkan:** `Canceled by JobStateTimeLimit action due to reason: CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`

   **Catatan:**

   1. Peran AWS Batch layanan memerlukan `autoscaling:DescribeScalingActivities` izin agar deteksi ini berfungsi. Jika Anda menggunakan peran [Menggunakan peran terkait layanan untuk AWS Batch](using-service-linked-roles.md) terkait layanan (SLR) atau kebijakan [AWS kebijakan terkelola: **AWSBatchServiceRole**kebijakan](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSBatchServiceRolePolicy) terkelola, Anda tidak perlu mengambil tindakan apa pun karena kebijakan izin mereka diperbarui.

   1. Jika Anda menggunakan SLR atau kebijakan terkelola, Anda harus menambahkan `autoscaling:DescribeScalingActivities` dan `ec2:DescribeSpotFleetRequestHistory` izin agar Anda dapat menerima peristiwa antrian pekerjaan yang diblokir dan status pekerjaan yang diperbarui saat masuk. `RUNNABLE` Selain itu, AWS Batch perlu izin ini untuk melakukan `cancellation` tindakan melalui `jobStateTimeLimitActions` parameter bahkan jika mereka dikonfigurasi pada antrian pekerjaan.

   1. Dalam kasus pekerjaan paralel multi-node (MNP), jika lingkungan komputasi Amazon EC2 prioritas tinggi yang dilampirkan mengalami `insufficient capacity` kesalahan, ini memblokir antrian meskipun lingkungan komputasi prioritas rendah mengalami kesalahan ini.

1. **Alasan:** Semua lingkungan komputasi memiliki [https://docs.aws.amazon.com/batch/latest/APIReference/API_ComputeResource.html#Batch-Type-ComputeResource-maxvCpus](https://docs.aws.amazon.com/batch/latest/APIReference/API_ComputeResource.html#Batch-Type-ComputeResource-maxvCpus)parameter yang lebih kecil dari persyaratan pekerjaan. Membatalkan pekerjaan, baik secara manual atau dengan mengatur `jobStateTimeLimitActions` parameter`statusReason`, memungkinkan pekerjaan berikutnya untuk pindah ke kepala antrian. Secara opsional, Anda dapat meningkatkan `maxvCpus` parameter lingkungan komputasi utama untuk memenuhi kebutuhan pekerjaan yang diblokir.
   + **`statusReason`pesan saat pekerjaan macet:** `MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE - CE(s) associated with the job queue cannot meet the CPU requirement of the job.`
   + **`reason`digunakan untuk`jobStateTimeLimitActions`:** `MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE`
   + **`statusReason`pesan setelah pekerjaan dibatalkan:** `Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE`

1. **Alasan:** Tidak ada lingkungan komputasi yang memiliki instance yang memenuhi persyaratan pekerjaan. Ketika pekerjaan meminta sumber daya, AWS Batch mendeteksi bahwa tidak ada lingkungan komputasi terlampir yang dapat mengakomodasi pekerjaan yang masuk. Membatalkan pekerjaan, baik secara manual atau dengan mengatur `jobStateTimeLimitActions` parameter`statusReason`, memungkinkan pekerjaan berikutnya untuk pindah ke kepala antrian. Secara opsional, Anda dapat mendefinisikan ulang jenis instans yang diizinkan lingkungan komputasi untuk menambahkan sumber daya pekerjaan yang diperlukan.
   + **`statusReason`pesan saat pekerjaan macet:** ` MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT - The job resource requirement (vCPU/memory/GPU) is higher than that can be met by the CE(s) attached to the job queue.`
   + **`reason`digunakan untuk`jobStateTimeLimitActions`:** `MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT`
   + **`statusReason`pesan setelah pekerjaan dibatalkan:** `Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT`

1. **Alasan:** Semua lingkungan komputasi memiliki masalah peran layanan. Untuk mengatasinya, bandingkan izin peran layanan Anda dengan [AWS kebijakan terkelola untuk AWS Batch](security-iam-awsmanpol.md) dan atasi celah apa pun. Catatan:Anda tidak dapat mengonfigurasi tindakan yang dapat diprogram melalui `jobStateTimeLimitActions` parameter untuk mengatasi kesalahan ini.

   Ini adalah praktik terbaik untuk menggunakan [Menggunakan peran terkait layanan untuk AWS Batch](using-service-linked-roles.md) untuk menghindari kesalahan serupa.

   Membatalkan pekerjaan, baik secara manual atau dengan mengatur `jobStateTimeLimitActions` parameter`statusReason`, memungkinkan pekerjaan berikutnya untuk pindah ke kepala antrian. Tanpa menyelesaikan masalah peran layanan, kemungkinan pekerjaan berikutnya juga akan diblokir. Yang terbaik adalah menyelidiki dan menyelesaikan masalah ini secara manual. 
   + **`statusReason`pesan saat pekerjaan macet:** `MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS – Batch service role has a permission issue.`

1.  **Alasan:** Lingkungan komputasi Anda memiliki konfigurasi tipe instans yang tidak didukung. Hal ini dapat terjadi ketika jenis instans tidak tersedia di Availability Zone yang dipilih, atau ketika template peluncuran atau konfigurasi peluncuran berisi setelan yang tidak kompatibel dengan tipe instans yang ditentukan. Untuk mengatasi hal ini, verifikasi bahwa jenis instans Anda didukung di Zona Ketersediaan Wilayah AWS dan yang ditentukan, periksa apakah setelan templat peluncuran Anda kompatibel dengan jenis instans Anda, dan pertimbangkan untuk memperbarui ke jenis instans generasi yang lebih baru. Untuk informasi selengkapnya tentang menemukan jenis instans yang didukung, lihat [Menemukan jenis instans Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html) di Panduan Pengguna *Amazon EC2*.
   + **`statusReason`pesan saat pekerjaan macet:** `MISCONFIGURATION:EC2_INSTANCE_CONFIGURATION_UNSUPPORTED - Your compute environment associated with this job queue has an unsupported instance type configuration.`

1. **Alasan:** Semua lingkungan komputasi tidak valid. Untuk informasi selengkapnya, lihat [`INVALID`lingkungan komputasi](invalid_compute_environment.md). Catatan: Anda tidak dapat mengonfigurasi tindakan yang dapat diprogram melalui `jobStateTimeLimitActions` parameter untuk mengatasi kesalahan ini. 
   + **`statusReason`pesan saat pekerjaan macet:** `ACTION_REQUIRED - CE(s) associated with the job queue are invalid.`

1. **Alasan:** AWS Batch telah mendeteksi antrian yang diblokir, tetapi tidak dapat menentukan alasannya. Catatan: Anda tidak dapat mengonfigurasi tindakan yang dapat diprogram melalui `jobStateTimeLimitActions` parameter untuk mengatasi kesalahan ini. *Untuk informasi selengkapnya tentang pemecahan masalah, lihat [Mengapa AWS Batch pekerjaan saya macet di RUNNABLE di](https://repost.aws/knowledge-center/batch-job-stuck-runnable-status) RE:POST. AWS*
   + **`statusReason`pesan saat pekerjaan macet:** `UNDETERMINED - Batch job is blocked, root cause is undetermined.`

Jika Anda tidak menerima acara dari Acara atau Anda menerima CloudWatch peristiwa alasan yang tidak diketahui, berikut adalah beberapa penyebab umum untuk masalah ini.

**Driver `awslogs` log tidak dikonfigurasi pada sumber daya komputasi**  
AWS Batch pekerjaan mengirim informasi log mereka ke CloudWatch Log. Untuk mengaktifkan ini, Anda harus mengonfigurasi sumber daya komputasi Anda untuk menggunakan driver log `awslogs`. Misalkan Anda mendasarkan sumber daya komputasi AMI dari AMI yang dioptimalkan Amazon ECS (atau Amazon Linux). Kemudian, driver ini terdaftar secara default dengan `ecs-init` paket. Sekarang anggaplah Anda menggunakan basis AMI yang berbeda. Kemudian, Anda harus memverifikasi bahwa driver `awslogs` log ditentukan sebagai driver log yang tersedia dengan variabel `ECS_AVAILABLE_LOGGING_DRIVERS` lingkungan saat agen penampung Amazon ECS dimulai. Untuk informasi selengkapnya, lihat [Spesifikasi AMI sumber daya komputasi](batch-ami-spec.md) dan [Tutorial: Membuat sumber daya komputasi AMI](create-batch-ami.md).

**Sumber daya yang tidak mencukupi**  
Jika definisi pekerjaan Anda menentukan lebih banyak sumber daya CPU atau memori daripada sumber daya komputasi yang dapat dialokasikan, maka pekerjaan Anda tidak akan pernah ditempatkan. Misalnya, pekerjaan Anda menentukan 4 GiB memori, dan sumber daya komputasi Anda memiliki kurang dari yang tersedia. Maka itu adalah kasus bahwa pekerjaan tidak dapat ditempatkan pada sumber daya komputasi tersebut. Dalam hal ini, Anda harus mengurangi memori yang ditentukan dalam ketentuan tugas Anda atau menambahkan sumber daya komputasi yang lebih besar ke lingkungan Anda. Beberapa memori disimpan untuk agen kontainer Amazon ECS dan proses sistem penting lainnya. Untuk informasi selengkapnya, lihat [Menghitung manajemen memori sumber daya](memory-management.md).

**Tidak ada akses internet untuk sumber daya komputasi**  
Sumber daya komputasi memerlukan akses untuk berkomunikasi dengan titik akhir layanan Amazon ECS. Ini dapat dilakukan melalui VPC endpoint antarmuka atau melalui sumber daya komputasi yang memiliki alamat IP publik.  
Untuk informasi lebih lanjut tentang VPC endpoint antarmuka, lihat [VPC Endpoint Antarmuka Amazon ECS (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) dalam *Panduan Developer Amazon Elastic Container Service*.  
Jika Anda tidak memiliki VPC endpoint yang dikonfigurasi dan sumber daya komputasi Anda tidak memiliki alamat IP publik, network address translation (NAT) harus digunakan untuk menyediakan akses ini. Untuk informasi lebih lanjut, lihat [Gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) dalam *Panduan Pengguna Amazon VPC*. Untuk informasi selengkapnya, lihat [Buat VPC](create-a-vpc.md).

**Batas instans Amazon EC2 tercapai**  
Jumlah instans Amazon EC2 yang dapat diluncurkan akun Anda ditentukan oleh kuota instans Wilayah AWS EC2 Anda. Jenis instans tertentu juga memiliki per-instance-type kuota. *Untuk informasi selengkapnya tentang kuota instans Amazon EC2 akun Anda termasuk cara meminta peningkatan batas, lihat Batas [Layanan Amazon EC2 di](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) Panduan Pengguna Amazon EC2.*

**Agen kontainer Amazon ECS tidak diinstal**  
Agen kontainer Amazon ECS harus diinstal pada Amazon Machine Image (AMI) untuk membiarkan pekerjaan AWS Batch berjalan. Agen kontainer Amazon ECS diinstal secara default di Amazon ECS yang dioptimalkan. AMIs Untuk informasi selengkapnya tentang agen kontainer Amazon ECS, lihat Agen [kontainer Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_agent.html) di Panduan *Pengembang Layanan Kontainer Elastis Amazon*.

Untuk informasi selengkapnya, lihat [Mengapa AWS Batch pekerjaan saya terjebak dalam `RUNNABLE` status?](https://aws.amazon.com/premiumsupport/knowledge-center/batch-job-stuck-runnable-status/) di *re:post*.