What are Permanent and Non-Permanent Writes?
To define this, we must first define permanent and non-permanent objects.
- A permanent object is created within a library. All normal user objects are permanent objects. Any create or update of an object within a library (including QTEMP) will cause one or more writes to one or more permanent objects.
- An example of a temporary object is the Open Data Path (ODP), the operating system internal object type created when a file is opened, containing control areas, etc. needed by data management for processing a database file.
Permanent writes are writes from main storage to disk of pages belonging to permanent objects.
The performance collector APIs supplies information about the number of “Permanent writes”.
GiAPA makes the following calculation:
(Total number of physical writes) – (Permanent writes) = “Non-permanent writes”
Non-permanent writes is a GiAPA-internal naming – we had to call it something, but must admit that the name is not quite telling the truth.
A good example of writes to non-permanent objects is paging. The operating system assigns work areas on the disks, and writes pages from main storage to these work areas in order to temporarily free up main storage for other purposes.
But: Writes to DDM-files (Distributed data management, i.e. files on other machines or LPARs) are not counted as “permanent writes”, and will therefore within GiAPA be included in what we call “Non-permanent writes” - - although the data bases accessed on the other machine indeed are considered permanent objects on that machine.
Writes to the IFS (not being in a library under QSYS) are also counted as “Non-permanent”.
A high number of non-permanent writes, i.e. the number of permanent writes is considerably lower than the sum of all physical writes (data base and non-DB, synchronous and async.) may therefore indicate heavy paging - - unless we write a lot to DDM-files or to the IFS. Sort criterion 15 on the GiAPA Job Summary Report shows non permanent write percentage per job.