This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
See this idea on ideas.ibm.com
I am using zowe - and it takes a long time to start. (as well as z/osmf)
I can see from the shared classes output and the output of -verbose:classes that most files are not found in the shared classes cache. These classes come from nested jars... jars containing other jars.
The shared classes code should support these.
Idea priority | High |
By clicking the "Post Comment" or "Submit Idea" button, you are agreeing to the IBM Ideas Portal Terms of Use.
Do not place IBM confidential, company confidential, or personal information into any field.
There may be some other aspects to this.
I can see from the trace that the entry is not in the SCC.
When it tries to add it - it says "already exists in the cache"
1708168:16:40:14.185881133 0x000000002167d200 j9shr.1322 Entry >CM
findROMClass: for class org/springframework/boot/loader/launch/Launcher with classpath id 0
1708184:16:40:14.185956632 0x000000002167d200 j9shr.127 Entry
>RMI locateROMClass: Locate request for ROMClass org/springframework/boot/loader/launch/Launcher from helper ID 0 with cpeIndex -1
1708185:16:40:14.185958742 0x000000002167d200 j9shr.953 Entry >M
hllTableLookup: Entering lookup with name org/springframework/boot/loader/launch/Launcher
1708227:16:40:14.186051663 0x000000002167d200 j9shr.1327 Exit <CM
findROMClass: class org/springframework/boot/loader/launch/Launcher not found
...
then it is found
1709307:16:40:14.205634790 0x000000002167d200 j9shr.127 Entry >RMI
locateROMClass: Locate request for ROMClass org/springframework/boot/loader/launch/Launcher from helper ID 2 with cpeIndex 0
1709308:16:40:14.205636634 0x000000002167d200 j9shr.953 Entry >M
hllTableLookup: Entering lookup with name org/springframework/boot/loader/launch/Launcher
1709328:16:40:14.205688134 0x000000002167d200 j9shr.282 Entry >CMI touchForClassFiles:
Looking for class org/springframework/boot/loader/launch/Launcher in classpath 0x2004d7efa54. Searching up to index 0.
1709330:16:40:14.205691118 0x000000002167d200 j9shr.1293 Event
RMI locateROMClass: Locate succeeded. Returning 0x2004d7efa20. FoundAtIndex=0. StaleCPEI=0x0.
Locate request for ROMClass org/springframework/boot/loader/launch/Launcher from helper ID 2 with cpeIndex 0.
1709332:16:40:14.205694696 0x000000002167d200 j9shr.1525 Event CM commitMetaDataROMClassIfRequired : found duplicate class org/springframework/boot/loader/launch/Launcher in cache
1709333:16:40:14.205698962 0x000000002167d200 j9shr.1531 Event CM
commitMetaDataROMClassIfRequired :1709332:16:40:14.205694696 0x000000002167d200 j9shr.1525 Event CM commitMetaDataROMClassIfRequired : found duplicate class org/springframework/boot/loader/launch/Launcher in cache
1709333:16:40:14.205698962 0x000000002167d200 j9shr.1531 Event CM
commitMetaDataROMClassIfRequired : located an existing class, no store is required for J9ROMClass org/springframework/boot/loader/launch/Launcher at address 0x496d9880.
1709334:16:40:14.205702383 0x000000002167d200 j9shr.1532 Event CM commitMetaDataROMClassIfRequired : Nothing was stored in the cache for J9ROMClass org/springframework/boot/loader/launch/Launcher at address 0x496d9880
1709538:16:40:14.230017273 0x000000002167d200 omrport.657 Event J9
VM NLS message: Failed to store class org/springframework/boot/loader/launch/Launcher in shared cache for class-loader id 2
with URL /u/tmp/zowep/components/gateway/bin/gateway-service-lite.jar (index 0).
1709552:16:40:14.230254647 0x000000002167d200 j9shr.1496 Exit <API
j9shr_jclUpdateROMClassMetaData : exit after storing nothing in the cache for class org/springframework/boot/loader/launch/Launcherfor J9ROMClass org/springframework/boot/loader/launch/Launcher at address 0x496d9880.
1709334:16:40:14.205702383 0x000000002167d200 j9shr.1532 Event CM commitMetaDataROMClassIfRequired : Nothing was stored in the cache for J9ROMClass org/springframework/boot/loader/launch/Launcher at address 0x496d9880
1709538:16:40:14.230017273 0x000000002167d200 omrport.657 Event J9
VM NLS message: Failed to store class org/springframework/boot/loader/launch/Launcher in shared cache for class-loader id 2
with URL /u/tmp/zowep/components/gateway/bin/gateway-service-lite.jar (index 0).
1709552:16:40:14.230254647 0x000000002167d200 j9shr.1496 Exit <API
j9shr_jclUpdateROMClassMetaData : exit after storing nothing in the cache for class org/springframework/boot/loader/launch/Launcher
I did some measurements on the use of shared classes. and shower proper support would save > 60 seconds of startup time.
I took the classes which are not loaded into the shared classes cache, and loaded them myself, and stored them in the shared classes cache - and repeated it.
First time ( classes not in the cache )
"find" 8.89 seconds - 22021 requests
"load" 60.1 seconds - 10053 requests
"save in scc" 3.5 seconds 10053 requests
Second time - exploiting classes in the cache
find 11 seconds 22021 requests
Load 0.01 seconds 10 requests
save 0.01 seconds 10 request
time dropped from 72 seconds down to 11 - a saving of over 60 second
Currently one address space in Zowe starts in about 380 seconds... so this would reduce the startup time by 15%!
This is on my zPDT system on Linux.