Presentation is loading. Please wait.

Presentation is loading. Please wait.

Freeing up disk on your IBM i

Similar presentations


Presentation on theme: "Freeing up disk on your IBM i"— Presentation transcript:

1 Freeing up disk on your IBM i
By Rob Berendt 04/16/2010

2 Traditional items Spool files Ptf save files

3 RTVDSKINF Your first line of attack
The Retrieve Disk Information (RTVDSKINF) command is used to collect disk space information. Disk space information can then be printed using the Print Disk Information (PRTDSKINF) command. The collected information is stored in a database file in library QUSRSYS. The file name depends on the auxiliary storage pool (ASP) device for which disk space information is retrieved. If the information was retrieved from the system and basic ASPs, the collected information will be stored in file QAEZDISK. If the information was retrieved from an independent ASP device, the collected information will be stored in file QAEZnnnnn, where 'nnnnn' is the ASP number of the independent ASP. The information will be stored in a data base file member named QCURRENT. Each time this command is run, existing information in QCURRENT is written over. To save existing information in member QCURRENT, rename file QAEZDISK or QAEZDnnnnn, or copy the member to another file. Note: Do not rename member QCURRENT within file QAEZDISK or QAEZDnnnnn. If there is more than one member in QAEZDISK or QAEZDnnnnn, the results of running this command can be unpredictable.

4 RTVDSKINF more small print
Restrictions: 1. You must have all object (*ALLJOB) special authority to collect disk space information. 2. You must be enrolled in the system distribution directory to collect folder and document information. Use the Work with Directory Entries (WRKDIRE) command to enroll.

5 PRTDSKINF *SYS

6 PRTDSKINF *SYS Information collected : 03/18/10 04:00:02 Total disk space on system in 1,000,000 bytes : Main storage size in megabytes : % of Size in Description Disk 1,000,000 bytes User libraries User directories Folders and documents QSYS Other IBM libraries Licensed Internal Code Temporary space Unused space System internal objects Objects not in a library TOTAL

7 i5/OS items reported i5/OS items reported: Disk 1,000,000 bytes
History files Journal receivers User profiles Configuration information System help (QHLPSYS) Calendars System directories Document files

8 OfficeVision items reported
OfficeVision items reported: Disk 1,000,000 bytes Enrollment Mail files Text search Personal directories

9 Licensed Internal Code
Licensed Internal Code: Disk 1,000,000 bytes LIC and tables Dump space Error logs Trace tables VLIC logs VLIC control blocks

10 Space used by system internal objects
Space used by system internal objects: Disk 1,000,000 bytes Additional configuration information Communications Data base Manage jobs Monitor performance Folders Mail i5/OS S/36 Environment Security SNADS and object distribution Spool Cross component Product installation Recovery of information Obsolete Internal system journals

11 Miscellaneous items reported
Miscellaneous items reported: Disk 1,000,000 bytes Printer output & Spooling (QSPL) Replaced object library (QRPLOBJ) Storage affected by RCLSTG Reclaim storage library (QRCL)

12 PRTDSKINF (Refreshed)
Information collected : 03/22/10 10:52:29 Total disk space on system in 1,000,000 bytes : Main storage size in megabytes : % of Size in Description Disk 1,000,000 bytes User libraries User directories Folders and documents QSYS Other IBM libraries Licensed Internal Code Temporary space Unused space System internal objects Objects not in a library TOTAL

13 i5/OS items reported % of Size in Disk 1,000,000 bytes
History files Journal receivers User profiles Configuration information System help (QHLPSYS) Calendars System directories Document files

14 PRTDSKINF *LIB Type of report . . . . . . . . . > *LIB
ASP device *SYSBAS Libraries *ALL Objects > *NONE Object types *ALL + for more values Smallest size Sort by *SIZE

15 Library summary % of Size in Library Owner Disk 1000 bytes
QUSRSYS QSYS ROUTINES ROB QMPGDATA QPM QSYS QSYS QSYSDIR QSYS DOM PROGRAMMER ...

16 PRTDSKINF *LIB (with objects)
Type of report > *LIB ASP device *SYSBAS Libraries *ALL Objects > *ALL Object types *ALL + for more values Smallest size > 10000 Sort by *SIZE

17 w/Objects Library/ % of Size in Object Type Owner Library 1000 bytes
QUSRSYS *LIB QSYS QAUDJR *JRNRCV PROGRAMMER QAUDJR *JRNRCV PROGRAMMER QAUDJR *JRNRCV PROGRAMMER QAUDJR *JRNRCV PROGRAMMER QAUDJR *JRNRCV PROGRAMMER QAUDJR *JRNRCV PROGRAMMER QAUDJR *JRNRCV PROGRAMMER QAUDJR *JRNRCV PROGRAMMER ... QAEZDISK *FILE PROGRAMMER ROUTINES *LIB ROB IFSLIST *FILE SSA QAEZD0058O *FILE PROGRAMMER QAEZD0054O *FILE PROGRAMMER QAEZD0017O *FILE PROGRAMMER QAEZD0014O *FILE PROGRAMMER

18 Before/After cleaning receivers
System ASP : G % system ASP used : After % system ASP used :

19 Run SQL Scripts

20 Biggest objects left -- List of objects by biggest object, descending
-- Does NOT include stream file (aka other IFS) stuff Select diobsz as size, diobli as library, diobnm as object, diobtp as type, diobat as attribute From qusrsys.qaezdisk where diobli <> ' ' Order by diobsz desc;

21 Biggest objects left

22 Other IBM libraries If you see significant space in “Other IBM libraries” you may want to look carefully in the PRTDSKINF *LIB. One user noticed these libraries % of Size in Library Owner Disk bytes QPFRD QSYS QPFRD QSYS They all had a text of “Down level files from library QMPGDATA”. On his system they consumed 30% of his disk.

23 What about “User directories”?
% of Size in Description Disk 1,000,000 bytes User libraries User directories Folders and documents QSYS Other IBM libraries Licensed Internal Code Temporary space Unused space System internal objects Objects not in a library TOTAL

24 RTVDIRINF DIR('/') INFLIB(...)
WRKF QAEZD* QAEZD0001D QAEZD0001O QAEZD0002D QAEZD0002O QAEZD0003D QAEZD0003O

25 List of objects by biggest directory
With t1 as( select distinct d.qezdirnam1 as ParentDirectory, qezdiridx from routines.QAEZD0058d d where locate('/',d.qezdirnam1,2)=0 and d.qezdirnam1<>'/' ), T2 as ( Select ParentDirectory, qezdirnam1,o.qezdtasize as size from T1, routines.qaezd0058d d left outer join routines.qaezd0058o o on d.qezdiridx=o.qezdiridx where qezdirnam1 like trim(ParentDirectory) concat '%' and (qezdirnam1 = ParentDirectory or substr(qezdirnam1,1,max(locate('/',qezdirnam1,2)-1,1)) = ParentDirectory) ) select ParentDirectory, sum(size) as dirsize From T2 Group by ParentDirectory order by 2 desc;

26 List of objects by biggest directory

27 Growth, by directory -- List of objects by biggest directory
-- Compared to an earlier run to check growth on that directory. With t1 as( select distinct d.qezdirnam1 as ParentDirectory, qezdiridx from routines.QAEZD0058d d where locate('/',d.qezdirnam1,2)=0 and d.qezdirnam1<>'/' ), T2 as ( Select ParentDirectory, qezdirnam1,o.qezdtasize as size from T1, routines.qaezd0058d d left outer join routines.qaezd0058o o on d.qezdiridx=o.qezdiridx where qezdirnam1 like trim(ParentDirectory) concat '%' and (qezdirnam1 = ParentDirectory or substr(qezdirnam1,1,max(locate('/',qezdirnam1,2)-1,1)) = ParentDirectory) t3 as( from routines.QAEZD0057d d

28 cont T4 as ( Select ParentDirectory, qezdirnam1,o.qezdtasize as size
from T1, routines.qaezd0057d d left outer join routines.qaezd0057o o on d.qezdiridx=o.qezdiridx where qezdirnam1 like trim(ParentDirectory) concat '%' and (qezdirnam1 = ParentDirectory or substr(qezdirnam1,1,max(locate('/',qezdirnam1,2)-1,1)) = ParentDirectory) ), T5 as ( select t2.ParentDirectory, sum(t2.size) as dirsize From T2 Group by ParentDirectory order by 2 desc

29 cont T6 as ( select t4.ParentDirectory, sum(t4.size) as dirsize
From T4 Group by ParentDirectory order by 2 desc ) select t5.ParentDirectory, t5.dirsize, ifnull(t6.dirsize,0) as OldSize, t5.dirsize - ifnull(t6.dirsize,0) as growth from t5 left outer join t6 on t5.ParentDirectory = t6.ParentDirectory order by growth desc ;

30 Results

31 Detailed -- List of objects by biggest directory - Detailed
With t1 as( select distinct d.qezdirnam1 as ParentDirectory, qezdiridx from routines.QAEZD0058d d where locate('/',d.qezdirnam1,2)=0 and d.qezdirnam1<>'/' ), T2 as ( Select ParentDirectory, qezdirnam1 as Dir, qezobjnam as object,o.qezdtasize as size from T1, routines.qaezd0058d d left outer join routines.qaezd0058o o on d.qezdiridx=o.qezdiridx where qezdirnam1 like trim(ParentDirectory) concat '%' and (qezdirnam1 = ParentDirectory or substr(qezdirnam1,1,max(locate('/',qezdirnam1,2)-1,1)) = ParentDirectory) ) select ParentDirectory, dir, object,size From T2 where ParentDirectory like '/fixes%' order by ParentDirectory, size desc ;

32 Detailed Results - fixes

33 Detailed Results – gdi01

34 Detailed Results - /QIBM

35 System 2 Total disk space on system in 1,000,000
bytes : % of Size in Description Disk 1,000,000 bytes User libraries User directories Folders and documents QSYS Other IBM libraries Licensed Internal Code Temporary space Unused space System internal objects Objects not in a library TOTAL

36 PRTDSKINF *LIB % of Size in Library Owner Disk 1000 bytes
EMIFILES QPGMR AMAFILES QPGMR LECFILES QPGMR PMBDMART61 QPGMR LEPFILES QPGMR ERAFILES QPGMR RBSPGMLIB RBTADMIN PEPFILES QPGMR SEAFILES QPGMR PMBBS QPGMR EPAFILES QPGMR RJSTEMP QTMHHTP QSYS QSYS QGPL QSYS PMBPROD DTYNDALL NCRFILES QPGMR ...

37 PRTDSKINF *LIB with obj
PRTDSKINF RPTTYPE(*LIB) OBJ(*ALL) MINSIZE(10000) Library/ % of Size in Object Type Owner Library bytes EMIFILES *LIB QPGMR DMFJRNHS *FILE QPGMR DMRIJRNHS *FILE QPGMR DMRJRNHS *FILE QPGMR DMMJRNHS *FILE QPGMR TRANS *FILE QPGMR ... AMAFILES *LIB QPGMR DMFJRNHS *FILE QPGMR DMRIJRNHS *FILE QPGMR DMRJRNHS *FILE QPGMR

38 Save files SELECT DIOBLI AS LIBRARY, DIOBNM AS OBJECT,
DIOBAT AS ATTR, DIOBSZ AS SIZE FROM QUSRSYS/QAEZDISK WHERE DIOBAT='SAVF' ORDER BY DIOBSZ DESC LIBRARY OBJECT SIZE QIWA QSI33310J ,500,032 QJAVA QSI18127J ,271,808 QGPL QSI ,698,048 QGPL QSI ,883,456 QGPL QSI ,667,456 QSYSDIR QSI17959J ,270,592 QGPL QSI ,082,688 QSYSDIR QLWILWI ,811,584 QSYSDIR QPZA ,795,200 QGPL Q5799PTL ,591,488 QGPL QSI ,537,536 QGPL QSI ,243,136 QSYSDIR QPZ1IWSS1O ,872,128 QGPL QSI ,122,496 ...

39 PTF save files SELECT DIOBLI AS LIBRARY, DIOBNM AS OBJECT,
cast(DIOBSZ as dec(9,0)) AS SIZE FROM QUSRSYS/QAEZDISK WHERE DIOBAT='SAVF' AND DIOBLI LIKE 'Q%' AND DIOBNM LIKE 'Q%' ORDER BY DIOBSZ DESC LIBRARY OBJECT SIZE QIWA QSI33310J ,500,032 QJAVA QSI18127J ,271,808 QGPL QSI ,698,048 QGPL QSI ,883,456 QGPL QSI ,667,456 QSYSDIR QSI17959J ,270,592 QGPL QSI ,082,688 QSYSDIR QLWILWI ,811,584 QSYSDIR QPZA ,795,200 QGPL Q5799PTL ,591,488 QGPL QSI ,537,536 QGPL QSI ,243,136 QSYSDIR QPZ1IWSS1O ,872,128 QGPL QSI ,122,496 ...

40 Total PTF save files SELECT SUM(DIOBSZ) AS TOTALSIZE
FROM QUSRSYS/QAEZDISK WHERE DIOBAT='SAVF' AND DIOBLI LIKE 'Q%' AND DIOBNM LIKE 'Q%' TOTALSIZE 5,065,977,856 or 2.4% of 211GB

41 Other save files SELECT DIOBLI AS LIBRARY, DIOBNM AS OBJECT,
cast(DIOBSZ as dec(9,0)) AS SIZE FROM QUSRSYS/QAEZDISK WHERE DIOBAT='SAVF' AND not(DIOBLI LIKE 'Q%' AND DIOBNM LIKE 'Q%') ORDER BY DIOBSZ DESC LIBRARY OBJECT SIZE NGSSUPPORT QIQE ,101,824 ZENDCORE ZENDMYSQL ,673,472 NGSJWINS JWKIFS31R ,151,872 C61CLAIMS PHASE ,198,592 PMBBS EXBILFIL ,281,600 QSYSINC UNISAVE ,785,984 QSYSINC UNISAVE ,785,984 QSYSINC UNISAVE ,716,928 PMBBS EXBILFIL ,184,448 NGSJWINS SEJIFS31R ,184,448 C61CLAIMS CMBMAINT ,987,840 QGPL SVN14PRD ,987,840 QSYSINC UNISAVE ,668,352 QSYSINC UNISAVE ,139,968 PMBBS EXBILFIL ,611,584 ...

42 Deleted records DSPFD FILE(*ALL/*ALL) TYPE(*MBRLIST) OUTPUT(*OUTFILE) FILEATR(*PF) OUTFILE(QTEMP/DSPFD) SELECT MLLIB, MLFILE, MLNAME, MLNDTR FROM ROB/DSPFD ORDER BY mlndtr desc Library File Member Deleted Records PMBDMART61 DMTMPINS DMTMPINS ,179,026 RBSPGMLIB RBSOH RBSOH ,283 PMBBS XECSREF XECSREF ,601 EMIFILES TRWRKOPR TRWRKOPR ,276 PMBBS SYSTEMZ SYSTEMZ ,444 EMIFILES TRWRKOPD TRWRKOPD ,168 LECFILES SOUNDXPF SOUNDXPF ,852 EMIFILES TRWRKOPH TRWRKOPH ,399 EMIFILES TRWRKOPM TRWRKOPM ,399 LEPFILES SOUNDXPF SOUNDXPF ,351 SEAFILES TRWRKOPR TRWRKOPR ,719 AMAFILES TRWRKOPR TRWRKOPR ,616 ...

43 Deleted space DSPFD FILE(ROB/*ALL) TYPE(*MBR) OUTPUT(*OUTFILE) FILEATR(*PF) OUTFILE(QTEMP/DSPFDOUT) SELECT MBLIB, MBFILE, MBNAME, MBNDTR, MBNDTR * MBMXRL AS DELSPACE FROM QTEMP/DSPFDOUT ORDER BY mBndtr*MBMXRL desc

44 Directories PARENTDIRECTORY DIRSIZE /QSYS.LIB 123,926,617,828
/QIBM ,585,680,999 /usr ,082,352 /QOpenSys ,744,063 /QDLS ,440,609 /QCA ,185,973 /RBSTMPLIB ,659,232 /www ,795,922 /NGSJWALK ,897,411 /JWALK ,873,086 /RJSTEMP ,138,944 /JWALKC ,725,882 /SEAJWK ,617,400 /NGSJWR ,393,416 /CFPMB ,277,458 ...

45 /QIBM OBJECT SIZE iNav.ear 187,696,231 setup.exe 77,683,617
QSI XH20005R04M ,081,765 iwawps.war ,081,718 src.jar ,497,537 rt.jar ,343,171 UNI1.CAB ,296,089 QSI XH20005R04M ,119,740 habeansnlv.jar ,119,740 IDSWebApp.ear ,460,986 JRE1.CAB ,248,776 QSI XE10005R02M ,949,702 ...

46 /usr DIR /usr/local/Zend/Core/lib
/usr/local/Zend/Core/lib/aspell-0.60 /usr/local/Zend /Core/lib/aspell-0.60 /usr/local/Zend/Core/lib/php/ /usr/local/Zend /Core/lib/php/

47 /QOpenSys DIR OBJECT SIZE
/QOpenSys/QIBM/ProdData/OS400/PASE/lib libxlf90_r.a 12,314,298 /QOpenSys/QIBM/ProdData/OS400/PASE/lib libXm.a ,676,892 /QOpenSys/QIBM/ProdData/OS400/PASE/lib libc.a ,174,466 /QOpenSys/QIBM/ProdData/OS400/PASE/lib libC.a ,079,369 /QOpenSys/QIBM/ProdData/DeveloperTools/emacs/bin emacs ,573,089 /QOpenSys/QIBM/ProdData/OS400/PASE/MRI2924/loc TE_IN.UTF-8__64 6,822,537 /QOpenSys/QIBM/ProdData/OS400/PASE/MRI2924/loc HI_IN.UTF-8__64 6,729,611 /QOpenSys/QIBM/ProdData/OS400/PASE/MRI2924/loc MR_IN.UTF-8__64 6,729,611 /QOpenSys/QIBM/ProdData/OS400/PASE/MRI2924/loc GU_IN.UTF-8__64 6,691,348 /QOpenSys/QIBM/ProdData/OS400/PASE/MRI2924/loc TA_IN.UTF-8__64 6,670,169 /QOpenSys/QIBM/ProdData/OS400/PASE/lib/nls/loc ID_ID.UTF-8__64 6,647,065 ...

48 /QDLS DIR OBJECT SIZE /QDLS/TRANSFER CTYSTATE.WRK 61,170,843
/QDLS/MONTHEND/EMI ARSELPRT.PDF 5,146,291 /QDLS/TRANSFER PPRRVU10.CSV 2,365,799 /QDLS/TRANSFER PPRRVU09.CSV 2,291,868 /QDLS/MONTHEND/EMI PRANAL.PDF ,065,234 /QDLS/MONTHEND/LEC PRANAL.PDF ,749 /QDLS/QBKBOOKS/UNITABLE EPHU ,432 /QDLS/QBKBOOKS/UNITABLE EPHU ,432 /QDLS/QBKBOOKS/UNITABLE EPHU ,432 /QDLS/MONTHEND/ESP PRANAL.PDF ,559 /QDLS/MONTHEND/PCR PRANAL.PDF ,419 /QDLS/TRANSFER X12N ,163 /QDLS/MONTHEND/LEP PRANAL.PDF ,437 /QDLS/TRANSFER XENVYFLO ,250 /QDLS/MONTHEND/PCR PRANL3.PDF ,643 ...

49 MGTC/service /QIBM/UserData/OS400/MGTC/service
This directory can get quite sizable. You may have turned on tracing at one time to help IBM help you with a problem. If you have data in there see: Or search ibm.com for D20062E9CB

50 GO CLEANUP Type choices below, then press Enter.
Allow automatic cleanup Y Y=Yes, N=No Time cleanup starts each day :00: :00:00- 23:59:59, *SCDPWROFF, *NONE Number of days to keep: User messages , *KEEP System and workstation messages , *KEEP Critical system messages *KEEP , *KEEP Job logs and other system output , *KEEP System journals and system logs , *KEEP

51 GO CLEANUP help

52 PTF save files -- List of objects by biggest object, descending
-- Does NOT include stream file (aka other IFS) stuff -- Save files only Select diobsz as size, diobli as library, diobnm as object, diobtp as type, diobat as attribute From qusrsys.qaezdisk where diobli <> ' ' and diobat='SAVF' Order by diobsz desc;

53 Summary Always start with RTVDSKINF.
Query the data generated by RTVDIRINF for some detail about stream files. What you knew in the past may still be important, but, start with the above first to get the biggest bang for your buck.

54 Hip Shots Keep your /QIBM/UserData/OS400/MGTC/service directory clean.
Watch your journal receivers. If a Domino shop consider: R8 compression DAOS Archiving clearing out your IBM_TECHNICAL_SUPPORT directory

55 Hip Shots Apply your ptf’s permanently.

56 Reference


Download ppt "Freeing up disk on your IBM i"

Similar presentations


Ads by Google