Desfragmentación del espacio de disco no utilizado: STRDSKRGZ, ENDDSKRGZ
Implemente una manera de mejorar la eficiencia en el uso de los discos aplicando el comando STRDSKRGZ en AS400.
El presente tip es una versión actualizada de la publicada en el año 2000.
Cada vez que un objeto es generado, OS/400 ubica porciones del mismo en los distintos discos del ASP que contendrá al objeto, buscando que cada una de las unidades del ASP se ocupen de manera balanceada. Pero a medida que los objetos se eliminan, se van generando espacios libres en cada uno de los discos del ASP, y el almacenamiento comienza a fragmentarse.
Si bien en AS/400 la fragmentación de discos no conspira contra el espacio disponible, (NO se requiere almacenamiento contiguo para los objetos), la excesiva fragmentación puede generar problemas de rendimiento al alocar objetos demasiado grandes, o complicar aplicaciones que utilicen la opción de alocar almacenamiento contiguo que ofrece en el CRTPF.
El comando STRDSKRGZ
Ell mandato STRDSKRGZ arranca una función del sistema operativo “reorganizadora” del espacio no utilizado. Todos los fragmentos libres son reagrupados creando espacios mayores. De esta forma, las futuras asignaciones grandes de disco se realizarán de manera más eficaz.
La reorganización de discos NO necesita, en principio, sistema dedicado (ver consideraciones finales), y tiene un comportamiento de tipo incremental, es decir, se puede arrancar la reorganización, detenerla en cualquier momento y rearrancarla luego.
Naturalmente, la función actúa siempre dentro de los límites de un mismo ASP por vez, y no puede reagrupar espacios de distintos ASP´s.
La siguiente pantalla muestra el prompt del mandato:
- El parámetro Límite de tiempo (TIMLMT) es el único parámetro obligatorio y permite especificar la cantidad de tiempo que puede consumirse como máximo en la función de reorganización. Si el proceso no se completa en el tiempo especificado, la función automáticamente finaliza. Este comportamiento facilita el arranque de procesos de reorganización incrementales.
- El parámetro Número de ASP (ASP) se utiliza para seleccionar cuál es el ASP sobre el cual correrá la reorganización. Si se especifica más de uno, arrancará una función de reorganización para cada uno, y cada una de estas ejecuciones estará limitada por la cantidad de tiempo de TIMLMT.
- El parámetro Dispositivo de ASP (ASPDEV) se especifica si no se indicó el parámetro Número de ASP (ASP) (se requiere especificar uno de los dos) y determina el nombre del dispositivo de agrupación de almacenamiento auxiliar (ASP) cuya reorganización de disco se necesita iniciar.
Por cada ASP sobre el cual se dispare la reorganización, se enviará un mensaje al History Log. El texto del CPI1470 el siguiente:
Mensaje . : Reorganización de disco arrancada satisfactoriamente para la ASP 1.
Causa . . : Se ha arrancado satisfactoriamente la reorganización de disco para la ASP 1. Se ejecutará hasta que haya caducado el límite de tiempo, hasta que se haya reorganizado completamente la ASP o hasta que el usuario detenga la función.
Si en cambio, no se especificó un ASP determinado sino *ALL, el mensaje enviado será:
Mensaje . . . . : Reorganización de disco arrancada para todas las ASP configuradas.
Causa . . . . . : Se ha arrancado la reorganización de disco para todas las ASP configuradas en el sistema. Se ejecutará hasta que se haya alcanzado el límite de tiempo, hasta que la ASP se haya reorganizado completamente o hasta que el usuario detenga la función.
El comando ENDDSKRGZ
La función de reorganización de disco puede finalizar en forma automática de dos maneras distintas:
- 1. Cuando el proceso se completa y la cantidad de tiempo estimada fue mayor o igual al tiempo necesario.
- 2. Cuando el proceso no se completa, porque la cantidad de tiempo estimada fue menor al tiempo necesario. En este caso, se necesitará una futura ejecución de STRDSKRGZ.
- 3. Para finalizaciones manuales, se debe ejecutar el mandato ENDDSKRGZ. El parámetro ASP permite terminar el proceso para un pool de disco sobre el cual previamente se arrancó.
Cuando el proceso finaliza, ya sea en forma manual o automática, se anota en el History Log el mensaje de código CPI1472 cuyo texto es el siguiente:
Mensaje: Ha finalizado la reorganización de disco para la ASP 1.
Causa . . : Ha finalizado la función de reorganización de disco para la ASP 1. La función tuvo el código de finalización X. A continuación se muestran los códigos de finalización y sus significados:
1 - La ASP está completamente reorganizada.
2 - Ha caducado el tiempo especificado para la reorganización.
3 - El usuario ha solicitado que finalice la reorganización.
4 - No pudo arrancarse la función de reorganización.
5 - No puede arrancarse la función de reorganización en una ASP que consta únicamente de una unidad.
6 - La función de reorganización ha finalizado inesperadamente.
Para tener en cuenta...
- Si bien la función no requiere nominalmente el sistema en estado dedicado, se han detectado cancelaciones imprevistas cuando se realizaba un RESTORE en el ASP donde estaba corriendo la reorganización. El consejo sería evitar actividad en dicho ASP.
- El arranque de esta función no genera ningún nuevo JOB en el sistema porque se ejecuta dentro de los jobs residentes del OS/400. La única manera de saber que la función está activa es por los mensajes que deja en el history log.
- El usuario que ejecuta el comando debe tener autorización especial *ALLOBJ.
Copyright Teknoda S.A.
IMPORTANTE: “Notas técnicas de AS/400 - IBM i" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes IBM i - AS/400. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. NS iTech - Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. |