Arch Linux deja de responder desde khugepaged

8

Soy un gran usuario de VMware workstation 10.0.3 y, como tal, tengo 32 GB de RAM en mi sistema. Mi único sistema operativo es Arch Linux, que usa Unity para el escritorio.

Por lo general, cuando tengo dos máquinas virtuales funcionando con aproximadamente 3 GB de RAM asignadas a cada una, muy a menudo y a intervalos aleatorios, todo el sistema deja de responder durante unos segundos.

Ejecutando "top" en una terminal, el culpable parece ser el comando khugepaged, que se ejecuta mientras el sistema no responde al 100% de la CPU y luego desaparece.

Hay alguna manera de evitar esto? He buscado en Google sobre khugepaged, pero parece que solo encuentro publicaciones antiguas de 2011 o preguntas sin respuesta.

Estas son mis especificaciones completas del sistema:

  • CPU: Intel i5 [email protected]
  • 32GB Corsair Vengeance RAM @ 2400MHz
  • M / B ASrock Z87 Pro 4
Angelos Kyritsis
fuente
¿Cómo son sus configuraciones de intercambio? Ese tipo de bloqueo a menudo está relacionado con el uso de intercambio. ¿Puedes verificar el intercambio la próxima vez que se cuelgue? ¿Se cuelga solo cuando se intercambia activamente?
terdon
¿Por qué debería cambiar con 32 GB de RAM? No se acerca a intercambiar la RAM física. Tengo una pequeña partición de intercambio de 1GB, ya que está en un SSD y no quería desperdiciar bienes raíces. No he cambiado el intercambio, supongo que está en el valor predeterminado.
Angelos Kyritsis
Bueno, arch tiene el valor predeterminado establecido en 60, lo que significa que comenzará a intercambiarse mucho antes de que se agote la RAM. No estoy diciendo que sea seguro, pero parece probable. Intenta establecer un valor más bajo.
terdon
Ok, lo configuré en 5. Le informaré si marcó la diferencia.
Angelos Kyritsis

Respuestas:

10

Tengo un problema similar en Ubuntu. La solución que uso es:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag

La fuente de la solución está en un informe de error de Fedora "khugepaged comiendo 100% CPU" . El error nunca fue corregido.

Esto es menos drástico que deshabilitar todo el transparent_hugepagesoporte. La explicación detallada de lo que hace el comando se puede encontrar en la documentación del soporte transparente de la página enorme .

Pawel Jasinski
fuente
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag; echo 0 | sudo tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
Treviño
@ Treviño, ¿puedo preguntar cuál es la diferencia con respecto a lo que propone el autor de la respuesta: por qué debería usarse | sudo teeen lugar de >?
Joma
1
@Joma the sudo echo $value > outputno funciona en Ubuntu, debes usar el teetruco o hacerlo desde sudo -sshell.
Treviño
En serio, te amo por eso, @ pawel-jasinski, la primera vez en 5 años que puedo TRABAJAR con VMware sin que congele regularmente el sistema operativo host y el sistema operativo invitado.
Simon A. Eugster
1
@Joma El primer comando debe ejecutarse desde un shell raíz. Con sudo echo X > Y, solo echo Xse ejecuta como root pero > Y(la salida hacia adelante en un archivo) no.
Simon A. Eugster
1

khugepaged podría ser el problema, intente lo siguiente:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

Esto me ayudó a resolver este problema en Arch Linux reciente ...

ArchUser
fuente
44
Hola y bienvenidos al sitio! Esperamos que las respuestas sean un poco más detalladas aquí. ¿Podría quizás editar su respuesta y explicar qué hace el comando que sugiere y cómo ayudaría?
terdon
1
@ArchUser también si no está seguro de que esta sea la solución, publíquelo como comentario.
vfbsilva