IBM i Global

IBM i Global

Connect, learn, share, and engage with IBM Power.

 View Only
Expand all | Collapse all

% System ASP used - How get Details? - Identify Disk increase

  • 1.  % System ASP used - How get Details? - Identify Disk increase

    Posted Wed February 14, 2024 12:01 PM

    Hello everyone,

    i am searching the details how % System-ASP is summed up from the dspsyssts command.

    Because the report you get with "go disktasks" -->  "Print Disk Space Information" --> "System Information" does not match the amount from dspsyssts. The difference is 6%.

    Is there a disk increase report available to identfy these objects or libraries?

    Thanks Jürgen



    ------------------------------
    Juergen Gleiss
    ------------------------------


  • 2.  RE: % System ASP used - How get Details? - Identify Disk increase
    Best Answer

    Posted Thu February 15, 2024 01:59 AM
    Edited by Juergen Gleiss Thu February 15, 2024 09:26 AM

    Dear Juergen

    What is the size of Temporary Space in the disk space report spooled file that you see? Please compare it against "Current temporary used" that you see from DSPSYSSTS screen to see if they differ by the amount you find differring or not?   

    "Current temporary used" in DSPSYSSTS can vary a lot in the entire course of a day depending on the varying total workload your server carries at any moment.  In my experience, this temp disk allocation can vary as much as 500GB or more from one moment to another for a large total workload case.  The larger the total active workload, the larger the moment-to-moment fluctuation.  For example, if some jobs are joining many large tables (in SQL for example), IBM i would allocate more temp disk space to store the large result of the table join and then deallocate the space when the jobs are done with their data processing. 

    So, expecting to see an exact or a very close match between the Disk Space report from RTVDSKINF and what you see from DSPSYSSTS can be a random chance at best.  You have better chance to see the match if your workload is small most of the time.   As the Greek said to Know Thyself, you need to know your workload  :-)   


    ------------------------------
    Chance favors only the prepared mind.
    -- Louis Pasteur
    ------------------------------
    Satid S.
    ------------------------------



  • 3.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 03:13 AM

    Hello Satid,

    thanks for the detailed explanation.

    Regards Jürgen



    ------------------------------
    Juergen Gleiss
    ------------------------------



  • 4.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 08:39 AM

    "IF" the "Information collection" timestamp is current (as I mentioned in an earlier reply) then you could use the following to analyze temporary space 

    QSYS2.SYSTMPSTG

    See:  https://www.ibm.com/support/pages/ibm-i-services-sql

    Sample:

    --
    -- Which active jobs are the top consumers of temporary storage?
    --
    SELECT bucket_current_size, bucket_peak_size, 
      rtrim(job_number) concat '/' 
      concat rtrim(job_user_name) 
      concat '/' 
      concat rtrim(job_name) as q_job_name 
    FROM QSYS2.SYSTMPSTG 
    WHERE job_status = '*ACTIVE' 
    ORDER BY bucket_current_size desc;



    ------------------------------
    Robert Berendt IBMChampion
    ------------------------------



  • 5.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 09:32 AM

    Hi Robert,

    i know that this information is also available at IBM Navigator for i:
    ibmhost:2002/Navigator/mainframe/system/temp-storage.


    Regards Jürgen



    ------------------------------
    Juergen Gleiss
    ------------------------------



  • 6.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 09:40 AM

    Yes it is.  Good catch.  And if you click on that View SQL button on the far right top you'll see the use of the same QSYS2.SYSTMPSTG.  Happy to see people using Navigator though.

    Was the date on "Information collection" current, as per my other reply?



    ------------------------------
    Robert Berendt IBMChampion
    ------------------------------



  • 7.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 03:17 AM

    Hello Jürgen
    How many ASP's are you using on the system?
    The display from DSPSYSSTS refers to the system ASP.
    The report from "go disktasks" contains the system ASP and all base ASPs.
    The easiest way to view this is with the command DSPASPBRM. This lists all ASPs. 
    I hope this helps.

    Best regards
    Thomas 



    ------------------------------
    Thomas Goetze
    ------------------------------



  • 8.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 08:30 AM

    The first thing I would like to know:  Is the date/time of the following on your print disk report current?

    Information collection start . . . . . . :   02/15/24  04:00:00
    Information collection end . . . . . . . :   02/15/24  04:03:34

    If not, then you need to run this BEFORE you print the information:  1. Collect disk space information

    That takes some time to run.



    ------------------------------
    Robert Berendt IBMChampion
    ------------------------------



  • 9.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 09:53 AM

    Good Hint



    ------------------------------
    Juergen Gleiss
    ------------------------------



  • 10.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 10:10 AM

    That option is also RTVDSKINF.  I have that as a 5am Thursday job schedule entry.  Follow on entries include:

    PRTDSKINF RPTTYPE(*SYS)

    PRTDSKINF RPTTYPE(*LIB) OBJ(*NONE)

    PRTDSKINF RPTTYPE(*LIB) OBJ(*ALL) MINSIZE(99000)

    They all use the same single string job queue.

    Consider them: Executive level summary, midlevel summary, grunt summary.



    ------------------------------
    Robert Berendt IBMChampion
    ------------------------------



  • 11.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Thu February 15, 2024 08:33 AM

    DSPASPBRM requires that you have the following installed on your system

    5770BR1   *BASE    2924    Backup Recovery and Media Services for IBM i



    ------------------------------
    Robert Berendt IBMChampion
    ------------------------------



  • 12.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Fri February 16, 2024 01:46 AM

    PRTDSKINF RPTTYPE(*LIB) OBJ(*ALL) MINSIZE(99000) --> Thats great!

    Can i retrieve the same information with sql or save it to a physical file?




    ------------------------------
    Juergen Gleiss
    ------------------------------



  • 13.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Fri February 16, 2024 04:56 AM
    Edited by Sylvain Manceau Fri February 16, 2024 04:56 AM

    You can have all information in real-time using SQL: https://www.ibm.com/docs/en/i/7.5?topic=services-object-statistics-table-function.

    Tip : you can use *all ;)

    Also for IFS objects: https://www.ibm.com/docs/en/i/7.5?topic=services-ifs-object-statistics-table-function (note the omit-list capability).

    Using shell:

    • all except libraries: find /* -prune -type d ! -name 'QSYS.LIB' -exec du -gs {} \;
    • all libraries, sorted by size : find /QSYS.LIB/* -name '*.LIB' -exec du -gs {} \; | sort -n

    (sizes in GB)



    ------------------------------
    Sylvain Manceau
    ------------------------------



  • 14.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Fri February 16, 2024 07:35 AM

    Hi Juergen,

    the Library size info can be retrieved using IBM i SQL services .. like that:

    select os.objname as lib, 
           li.library_type, 
           li.text_description, 
           li.object_count, 
           li.library_size,
           li.library_size_complete,
           decimal(float(li.library_size * 100) / sum(li.library_size) over(), 32, 3) as percent               
    from table(qsys2.object_statistics('*ALLSIMPLE', '*LIB')) as os, 
    lateral(
        select * 
        from table(
            qsys2.library_info(
                library_name => os.objname,
                ignore_errors => 'YES',
                detailed_info => 'LIBRARY_SIZE'
            )
        )
    ) as li
    order by percent desc, lib asc;

    The info is quite OK - even if not 100% accurate.

    HTH

    Daniel



    ------------------------------
    Daniel Gross
    ------------------------------



  • 15.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Fri February 16, 2024 08:20 AM

    Juergen,

    Since you are familiar with Navigator, most anything you can do in Navigator has that SQL button in the top right.  This will show you the sql they use to gather that information.

    There's also a command called RTVDIRINF.  It has a matching PRTDIRINF.  I find the report printed rather unwieldy.  However, if you are looking for examples on how to analyze the data gathered by RTVDIRINF go into Run SQL Scripts, Edit, Examples, Insert from Examples, SYSTOOLS and there is a fine example there.  You may also wish to peruse IBM i Services.



    ------------------------------
    Robert Berendt IBMChampion
    ------------------------------



  • 16.  RE: % System ASP used - How get Details? - Identify Disk increase

    Posted Fri February 16, 2024 07:23 AM

    Can be strictly unrelated, but if you want a "quick overview" of schema/file usage, to spot "heavy files" as a percentage of a schema, if that's the intent,

    you can use an SQL like this, 

    SELECT table_schema, table_name, SUM(data_size) size,
           RATIO_TO_REPORT(SUM(data_size)) OVER(PARTITION BY table_schema) 
    FROM qsys2.syspartitionstat
    WHERE TABLE_SCHEMA IN ('mylib1', 'mylib2')
    GROUP BY ROLLUP(table_schema, table_name)
    ORDER BY TABLE_SCHEMA, 4 DESC



    ------------------------------
    --ft
    ------------------------------