Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

355
Views
¿Cuál es la relación entre la métrica `container_memory_working_set_bytes` y OOM-killer en el contenedor?

Estoy tratando de averiguar y comprender cómo funciona OOM-killer en el contenedor.

Para averiguarlo, he leído muchos artículos y descubrí que OOM-killer mata el contenedor basado en oom_score . Y oom_score está determinado por oom_score_adj y el uso de memoria de ese proceso.

Y hay dos métricas container_memory_working_set_bytes , container_memory_rss del cAdvisor para monitorear el uso de memoria del contenedor.

Parece que la memoria RSS ( container_memory_rss ) tiene un impacto en oom_score , por lo que puedo entender que con la métrica container_memory_rss , si esa métrica alcanza el límite de memoria, el OOM-killer matará el proceso.

  • https://github.com/torvalds/linux/blob/v3.10/fs/proc/base.c#L439
  • https://github.com/torvalds/linux/blob/v3.10/mm/oom_kill.c#L141
  • https://github.com/torvalds/linux/blob/v3.10/include/linux/mm.h#L1136

Pero de los artículos como a continuación:

  • https://faun.pub/cuánto-es-demasiado-el-linux-oomkiller-and-used-memory-d32186f29c9d
  • https://blog.freshtracks.io/una-inmersión-profunda-en-kubernetes-metrics-part-3-container-resource-metrics-361c5ee46e66

La mejor métrica es container_memory_working_set_bytes ya que esto es lo que está buscando el asesino OOM.

No puedo entender el hecho de que OOM-killer esté buscando la memoria del conjunto de trabajo del contenedor. Creo que no entiendo el significado de la memoria del conjunto de trabajo en el contenedor, que es "uso total - archivo inactivo".

  • https://github.com/google/cadvisor/issues/2582#issuecomment-644883028

¿Dónde puedo encontrar la referencia? ¿O podría explicar la relación entre la memoria del conjunto de trabajo y OOM-kill en el contenedor?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Como ya sabes, container_memory_working_set_bytes es:

la cantidad de memoria del conjunto de trabajo e incluye la memoria a la que se accedió recientemente, la memoria sucia y la memoria del kernel. Por lo tanto, el conjunto de trabajo es (menor o igual que) </= "uso".

El container_memory_working_set_bytes se usa para decisiones de OoM porque excluye los datos almacenados en caché ( caché de página de Linux ) que se pueden desalojar en escenarios de presión de memoria.

Por lo tanto, si container_memory_working_set_bytes aumenta hasta el límite, provocará oomkill.

Puede encontrar el hecho de que cuando el kernel de Linux verifica la memoria disponible, llama a vm_enough_memory() para averiguar cuántas páginas están potencialmente disponibles.

Luego, cuando la máquina tiene poca memoria, los marcos de página antiguos, incluido el caché, se recuperarán, pero el kernel aún puede encontrar que no pudo liberar suficientes páginas para satisfacer una solicitud. Ahora es el momento de llamar out_of_memory() para terminar el proceso. Para determinar el proceso candidato a eliminar, utiliza oom_score .

Entonces, cuando los bytes del conjunto de trabajo alcanzan los límites, significa que el kernel no puede encontrar las páginas disponibles incluso después de recuperar las páginas antiguas, incluido el caché, por lo que el kernel activará OOM-killer para eliminar el proceso.

Puede encontrar más detalles en los documentos del kernel de Linux:

  • https://www.kernel.org/doc/gorman/html/understand/understand016.html
  • https://www.kernel.org/doc/gorman/html/understand/understand013.html
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!