Problema relacionado con el disco o la memoria
Al igual que una gran parte de la memoria real está disponible para los archivos de almacenamiento intermedio, el espacio de página del sistema está disponible como almacenamiento temporal para los datos de trabajo del programa que se han forzado a salir de la RAM.
vmstat -s >temp.file # cumulative counts before the command
time $1 # command under test
vmstat -s >>temp.file # cumulative counts after execution
grep "pagi.*ins" temp.file >>results # extract only the data
grep "pagi.*outs" temp.file >>results # of interestEl script vmstatit resume el voluminoso informe vmstat -s, que proporciona recuentos acumulativos para una serie de actividades del sistema desde que se inició el sistema.
# vmstatit "cp file1 file2" 2>resultsreal 0m0.03s
user 0m0.01s
sys 0m0.02s
2323 paging space page ins
2323 paging space page ins
4850 paging space page outs
4850 paging space page outsvmstat -s >temp.file
time $1
vmstat -s >>temp.file
echo "Ordinary Input:" >>results
grep "^[ 0-9]*page ins" temp.file >>results
echo "Ordinary Output:" >>results
grep "^[ 0-9]*page outs" temp.file >>results
echo "True Paging Output:" >>results
grep "pagi.*outs" temp.file >>results
echo "True Paging Input:" >>results
grep "pagi.*ins" temp.file >>resultsreal 0m2.09s
user 0m0.03s
sys 0m0.74s
Ordinary Input:
46416 page ins
47132 page ins
Ordinary Output:
146483 page outs
147012 page outs
True Paging Output:
4854 paging space page outs
4854 paging space page outs
True Paging Input:
2527 paging space page ins
2527 paging space page insLa salida del mandato time confirma la existencia de una dependencia de E/S. El aumento de entradas de página muestra la E/S necesaria para satisfacer el mandato cp. El aumento de las salidas de página indica que el archivo es lo suficientemente grande como para forzar la escritura de páginas sucias (no necesariamente las suyas) de la memoria. El hecho de que no haya ningún cambio en los recuentos de E/S de espacio de paginación acumulados confirma que el mandato cp no crea estructuras de datos lo suficientemente grandes como para sobrecargar la memoria de la máquina de prueba.
El orden en el que esta versión del script de vmstatit muestra la E/S es intencionada. Los programas típicos leen la entrada del archivo y luego escriben la salida del archivo. La actividad de paginación, por otra parte, normalmente empieza con la escritura de una página de segmento de trabajo que no se ajusta. La página se vuelve a leer solo si el programa intenta acceder a la misma. El hecho de que el sistema de prueba haya experimentado casi el doble depaging space page outsaspaging space page insdesde que se arrancó indica que al menos algunos de los programas que se han ejecutado en este sistema han almacenado datos en la memoria a los que no se ha accedido de nuevo antes del final del programa. Programas con memoria limitada proporciona más información. Véase también Rendimiento de memoria.
# cc -c ed.c
# vmstatit "cc -c ed.c" 2>resultsreal 0m7.76s
user 0m7.44s
sys 0m0.15s
Ordinary Input:
57192 page ins
57192 page ins
Ordinary Output:
165516 page outs
165553 page outs
True Paging Output:
10846 paging space page outs
10846 paging space page outs
True Paging Input:
6409 paging space page ins
6409 paging space page ins# rmss -c 8real 0m9.87s
user 0m7.70s
sys 0m0.18s
Ordinary Input:
57625 page ins
57809 page ins
Ordinary Output:
165811 page outs
165882 page outs
True Paging Output:
11010 paging space page outs
11061 paging space page outs
True Paging Input:
6623 paging space page ins
6701 paging space page insLos siguientes síntomas de dependencia de E/S están presentes:
- El tiempo transcurrido es mayor que el tiempo total de CPU
- Cantidades significativas de E/S ordinaria en la enésima ejecución del mandato
# rmss -rpara devolver al sistema operativo la memoria que ha tomado el mandato rmss, restaurando así el sistema a su capacidad normal.