Esta publicación muestra cómo verificar el uso de intercambio de cada proceso, respondiendo "¿Cómo puedo saber qué proceso consumiría el mayor espacio de intercambio?"
Para todos los núcleos
El uso de intercambio se muestra como "Intercambio ” columnas en /proc/[PID]/smaps . Esto indica el tamaño de la memoria intercambiada de cada rango de memoria, por lo que la suma de todos estos valores muestra el uso total de intercambio del proceso.
Por ejemplo, la secuencia de comandos simple a continuación calcula el uso de intercambio total del proceso cuyo PID =1027:
# echo $((`grep Swap /proc/1027/smaps | awk '{ print $2; }' | tr '\n' '+'`0))
Para núcleos UEK2 (2.6.39) o posteriores
Es más fácil verificar el uso de intercambio de un proceso específico, solo marque "VmSwap columna ” en /proc/[PID]/status . Esto indica el uso total del espacio de intercambio como un valor. Esta columna no existe en /proc/[PID]/status con kernel <2.6.39. Por ejemplo, para ordenar procesos con el uso de intercambio de mayor tamaño, ejecute un script a continuación:
# for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | more
El valor que se muestra/calcula en esta publicación no indica un tamaño exacto del espacio de intercambio utilizado, sino que solo indica uno aproximado. Algunos (como la biblioteca compartida) podrían contarse dos veces, y otros (como el caché de intercambio) no se intercambian realmente.