Operating System - HP-UX
1834020 Members
2824 Online
110063 Solutions
New Discussion

How to have multiple users share an image

 
John Nichols_3
New Member

How to have multiple users share an image

Hi. I have a very large CAD application that 'top' says has 255M in the SIZE column and 144M in the RES column. I have some users that are testing exporting displays to an Intel workstation and/or their lower end HP (C200) workstations from this C3600 workstation with 2GB of RAM. Since some of their work involves analyzing the CAD model, it is faster to do this analysis on this workstation. I did see where each user gets their own copy of the program along with its corresponding 150M of RAM.
Disregarding the use (or abuse) of this workstation, is there is a way to make any part of an image shareable so not everyone gets this much RAM allocated to them?

Thanks in advance
7 REPLIES 7
Olav Baadsvik
Esteemed Contributor

Re: How to have multiple users share an image

Hi,

I am not qute sure I understand what you mean,
but I think this may be an answer:

. The more of the CAD application that is
executed in functions that are part of
shared libraries the less memory each
user will have to occupy.

This means that when two users start the
same program, only one copy of functions that
are in shared libs needs to be in memory.
To what extent your applications uses shared
libs is difficult to say. Shared libs may
be runtime-libs that comes with HP-UX and it
may be shared libs made by the software vendor.
For various reasons some software vendors
prefer not to use shared libs.
You will see what shared libs are used
by using the chatr command
Example:

chatr executable

will among other things give a list of the
shared libs used by this executable.
Steven Gillard_2
Honored Contributor

Re: How to have multiple users share an image

Usually the text image (executable part) of a program is shared, but the processes data segment is not. If this memory is all used in the data segment of the process then there is nothing you can do from an OS point of view - it is purely an application problem.

You can use a tool like glance to get more information on the memory segments that a process has attached.

I'd say your options are going to be either complain to the application developer about the amount of memory used, or install more memory.

Regards,
Steve
Robert Gamble
Respected Contributor

Re: How to have multiple users share an image

John,

Since all of the users are effectively running the CAD app on the C3600, it's resources are going to dwindle with each additional user.

I know some CAD software licenses prohibit this type of activity just because of this performance issue, as well as they way they license the app to each 'seat' using it.

Check with the Software Vendor for their recommendations on how to avoid (1) the resource issues you have, and (2) any potential licensing issues resulting from this type of usage.

Good Luck!
A. Clay Stephenson
Acclaimed Contributor

Re: How to have multiple users share an image

Hi:

You can run the chatr command on the executable to confirn that it a shared executable and to what degree. I suspect that the application is already shared text and uses shared libraries. You need to look at the page out's via vmstat. If pageout's are occurring then your only realistic option is to add memory to your box. The good news is that 3rd-party memory is available and it is significantly less expensive than the 'real' thing.
If it ain't broke, I can fix that.
John Nichols_3
New Member

Re: How to have multiple users share an image

Thank you all very much. The executable does list some large libraries when I do chatr against it and two of the larger ones end in .sl so this would mean they are already being shared if I understand. I do not have glance on here but I will try and get the free trial onto the box so I can understand what the program is mapping. Thank you also for the question to the vendor about the licensing. That is important and I will check it out. Thanks again everyone.
rick jones
Honored Contributor

Re: How to have multiple users share an image

Indeed, generally program TEXT spaces are shared between processes running the same binary. Similarly for shared library TEXT images (the first number in the output of the size command)

However, some vendors, in an effort to put-off going to 64-bits (anyone remember the old Fram oil filter commercials?-) have compiled their programs with the magic options to get upwards of 3GB of DATA. To do this, they have to put some data in the quadrant normally used for TEXT. This means that the TEXT quadrant can no longer be shared.

I cannot recall if the shared libs used by such a program would also behave that way. I would not be surprised to find-out that they did.

The "fix" is to get the 32-but-should-be-64-bit CAD program compiled for 64 bit. Then the TEXT segment can go back to being shared.

This presumes a 32-bit application running under HP-UX 11 or later...
there is no rest for the wicked yet the virtuous have no pillows
John Nichols_3
New Member

Re: How to have multiple users share an image

There is really a wealth of knowledge on this forum. I hope that I can contribute to it sometimes.
One thing that I wondered about 'top'is even though each process shows that it is using 150Mbytes of RAM, if memory is shared between processes, then 'top' maybe be double counting. I mean if you took each instance of the program individually, it would appear that each one has this much RAM but is it possible that this number includes the shared portion just counted again? As Mr. Gillard pointed out, I could use glance to see which memory segments are being attached. I would appreciate comments on this if you have the time.
Thanks