kswapd0 está tomando el 99.9% de mi CPU, como me muestra la parte superior, el problema apareció hoy cuando jugué y la primera vez desapareció después de 6 minutos y ahora lo ha estado haciendo durante unos 20 minutos. ¿Cómo es esto reparable y qué está causando esto?
46
Respuestas:
El proceso kswapd0 es el proceso que administra la memoria virtual. Su máquina debe tener RAM, SWAP y EXT4 en su HDD / SSD. El ext4 es donde se almacena todo, y siempre es más lento el acceso que la RAM. La RAM es como un espacio intermedio para que los programas accedan a la información rápidamente. La mayoría de las computadoras tienen al menos 4 GB de RAM, que en condiciones normales es suficiente. Sin embargo, cuando juegas un juego, puedes quedarte sin espacio en RAM, que es donde entra SWAP.
SWAP es una RAM falsa ubicada en su HDD / SSD junto a su EXT4. Es de acceso más rápido que el EXT4, pero es mucho más lento que la RAM real. Cuando se queda sin memoria, kswapd0 mueve los programas que no está usando / no usa tanto como otros programas al SWAP, lo que causa un retraso extremo en esos procesos. Si su juego necesitaba 5GB de RAM, 1GB al MENOS estaría en SWAP. Eso significa que cuando intenta acceder a esa información, tiene que esperar más para obtenerla.
Todo este proceso provoca un uso extremo de la CPU, trasladando información desde y hacia SWAP y RAM y manejando la solicitud de información, todo al mismo tiempo. ¿Cómo resolver este problema?
Dígale a kswapd0 que solo mueva cosas a SWAP cuando esté completamente sin RAM. Este es el método más efectivo para resolver problemas de SWAP. correr
echo vm.swappiness=0 | sudo tee -a /etc/sysctl.conf
donde
0
es el porcentaje restante100
en el que se debe usar SWAP (cuando tiene 0% de RAM restante, SWAP comenzará a recibir datos). También puede editar /etc/sysctl.conf a su gusto en lugar de agregar este comando al final cada vez que use gedit o nano o lo que sea, asegúrese de sudo, sin embargo, este archivo es propiedad de la raíz. Reiniciar y ya está listo!Eso es lo mejor que puedes hacer. Otros pueden decir deshabilitar el intercambio completamente, pero eso es peligroso y NO lo recomendaría. Eso puede hacer que sistemas completos se congelen si hay una pérdida de memoria o si se están ejecutando demasiadas aplicaciones. Solo tenga en cuenta que el SWAP es a prueba de fallas para la RAM. Definitivamente no es tan rápido o eficiente como la RAM, ¡pero es mejor que el Pagefile de Windows! (que cumple el mismo propósito)
EDITAR: Si está interesado en aprender más sobre SWAP, consulte aquí .
fuente
kwapd0
se ha ido. Gracias.kswapd0 se ejecuta al 99.9% de una CPU pero en realidad no se intercambia en absoluto
Para mí sucede a veces en Ubuntu 14.04 con el kernel 3.19.0-50-generic (y anterior) ejecutándose en un VMware vm. No tengo idea de qué lo hizo aparecer, pero viene durante el tiempo de inactividad.
top
muestra:Solución temporal
un reinicio resolvió el problema temporalmente.
siguiendo la respuesta en serverfault (kswapd a menudo usa el 100% de la CPU cuando el intercambio está en uso) donde la misma configuración en mi sistema:
la solución fue en realidad
# echo 1 > /proc/sys/vm/drop_caches
:ahora está bien:
¿Solución permanente (por encontrar)?
pero como todavía no se conoce el motivo real, y no puse ninguna explicación adecuada en la red, esta no es una solución permanente. En realidad, la respuesta seleccionada podría ser la solución permanente. Solo quería agregar esto para referencia futura, ya que un reinicio (para que sysctl tenga efecto) no siempre es posible.
Otra solución podría ser configurar THP en cualquiera
madvice
onever
(ver el comentario de poige a su respuesta , ¿Cómo modifico "/ sys / kernel / mm / transparent_hugepage / enabled" y el Manual de MongoDB referenciado sobre Desactivar páginas enormes transparentes (THP) )trabajo cron
He configurado el siguiente lote como un trabajo cron como una solución "permanente":
invocado con
16.04 14.04 intercambio
fuente