V7 .a libs vs V6 .so files, - puzzling problems

From: Bill Hertzing <wgh_at_ops1.fns.com>
Date: 28 Jul 1994 11:20:23 -0400
Message-ID: <318ibn$d1l_at_ops1.fns.com>


During our porting effort from Oracle V6 to Oracle V7, we have encountered a puzzling effect. I am hoping that some of the gurus in this thread can explain what is happening. We are running V7.0.16.4 on a SparcCenter 2000 8-CPU system running Solaris 2.3.

In V6, Oracle distributed it's libraries as 'shared objects' (.so files). In V7, the libraries are distributed as archive libraries (.a) files. The resulting Oracle binary executables files in V7 are 4 times larger in V7 than they were in V6. Our Pro-C applications have shown a dramatic growth in file size, from around 100K to 2.2Megs. A call to Oracle Tech Support confirmed that V7 ships only with the archive libraries, and that the shared object versions of the libraries were not availaible. This has caused much consternation at our organization, because it means we will have to buy more disks to hold our development and production versions of our applications.

After discovering the file size growth, we became concerned over the impact this would have on the executable's process size requirements in main memory at run time. We thought that the new runformx and shadow processes would consume much more main memory, and since we run hundreds of individual user sessions on our SparcCenter 2000 for the entire division, we thought that we would have to buy more main memory to maintain the current level of performance. It was while testing this theory that the puzzling data was discovered...

The process size in main memory, as reported by "ps -aefcl" in field 8, was much SMALLER in V7 than in V6, about 200K for runformx, and about 400K for the shadow process. Furthermore, the process size actual changed for ALL instances of runformx and for SUBSEQUENT instances of the shadow process, as more concurrent user sessions were run. (This process growth was seen on both the V6 and V7 tests).

We expected that the larger executable file size would translate to larger process space requirements at run time. Using the dump utilities, looking at the executable does not seem to indicate that shared text segments are being used. Therefore we are at a loss to explain why the larger V7 binaries are consuming smaller run-time process space. One possible explanation advanced is that the V6 tests are run on the production system, which has many concurrent users, and the V7 tests are done on a experimental system, which has little or no usage outside of the tests.

Can any please explain this behaviour? And, we really need to know (because we may have to go to upper management to make a case for buying more main memory) given an equal number of user sessions, will V7 executables consume more, or less, main memory? If you will E-Mail replies to me at wgh_at_fns.com I will summarize the results and post them here.

Thanks in advance for any help - Bill Hertzing

-- 
Bill Hertzing wgh_at_fns.com           | The views expressed here are my own.
Fujitsu Network Switching Inc.      | They do not necessarly reflect the 
4403 Bland Rd, Raleigh, NC 27502    | view of Fujitsu Network Switching, Inc.
Received on Thu Jul 28 1994 - 17:20:23 CEST

Original text of this message