Sponsored Content
Operating Systems AIX Permanently set maxdata to maximum Post 302954937 by MichaelFelt on Sunday 13th of September 2015 12:54:13 PM
Old 09-13-2015
After many hours of travel, and some sleep I have for you - this link with the basis information: https://www-01.ibm.com/support/knowl...rg_support.htm

Basically, what happens is that system and code remain in segments 0 and 1.
When maxdata is not equal to 0 (zero) - which is default, segment 2 is used for the stack and application .data (pre-initialized data) and .bss (aka heap for malloc calls) start in segment 3 and continue for the number of segments specified.

As you mentioned in your initial question the "official" large memory support model has a maximum MAXDATA value of 0x80000000 - so that is 2.25 G total (256MB (roughly) for the stack, and 2 GByte (8x 256 MByte) for application .data and .bss

From the discussion, I do not think you will want to use the DSA - dynamic segment allocation - option (so-called or the VERY large memory option). However, if 2G Byte for .data and .bss is not going to be enough you may need to use that.

Back to "shared" memory - the default memory model setup uses only segments 0, 1, and 2 for the memory model - the segments there are 12 segments (numbers 3-12 and 14 are used by shmap or mmap routines). Historically, segments 13 and 15 were used by global shared libraries text and data. When you use the DSA option global shared libraries are not used - instead the shared libraries are loaded "privately" into segment 15 - both text and data. This free up segment 13 giving an application at least one additional segment.

If you are not using shmap or mmap routines then the "very large" model should work fairly easy. However, if you do use either of these routines they may impact the maximum memory available via malloc(). - keyword here: potential impact!

I hope this answers your question well enough.

Michael
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

compatibilty with MAXDATA machines

hi, I'm thinking of buying a Maxdata laptop 3100x. Only problem is that I'll need to run LINUX on it, and I've been warned that some machines don't run UNIX due to problems with their graphics cards. I contacted Maxdata, who say they've never tested their machines for UNIX-compatibility, which... (1 Reply)
Discussion started by: perturbed
1 Replies

2. AIX

I can not increase the maxdata to 2 G.B

Please can anyone help me in my problem my problem is i have AIX 5.3 and We need 1 GB of data segment size available and we found To set the data segment size to 1 GB, set the LDR_CNTRL variable to LDR_CNTRL=MAXDATA=0x40000000@DSA. But after we set it and check with command “$ dump -X64 -o... (0 Replies)
Discussion started by: mghazaly
0 Replies

3. Shell Programming and Scripting

lynx browser set permanently option

hi all, is there somebody that know how can I set an permanently option for the lynx text browser? The reason is if I open some URL's and type my login infos then lynx show follow message: P)roceed, use G)ET or C)ancel Server asked for 301 redirection of POST content to URL: The UNIX... (1 Reply)
Discussion started by: research3
1 Replies

4. Solaris

How do i permanently set bash profile??

Hi all, I don't want to enter below command on solaris every time. How do i permanently set this command on Solaris. I know that this operation is a piece of cake on redhat because there is a /etc/rc.local file on it. But Solaris ???? bash-3.00#export PS1="\e (2 Replies)
Discussion started by: getrue
2 Replies

5. Red Hat

set device mode permanently with udev rule

On a test server running CentOS 6, I try to permanently set the owner, group and mode of disk devices for use with a DB2 database. For this I created an udev rule file /etc/udev/rules.d/99-db2.rules: KERNEL=="sdb*", OWNER="db2usrl1", GROUP="db2adml1", MODE="0600" After a reboot, the owner and... (4 Replies)
Discussion started by: hergp
4 Replies

6. UNIX for Advanced & Expert Users

gmail revert to old look permanently

I thought I would share gmail revert to old look permanently. I am sure I am not the only one annoyed by the new look. Install Stylish extension Choose the Stylish UserStyle that you want. I know The Return of Old Gmail and gmail-b2b both work but I prefer gmail-b2b since I think it looks... (0 Replies)
Discussion started by: cokedude
0 Replies

7. Red Hat

Change service name permanently

Hi, Since everything is doable in Linux so far, what is the ability of changing a spicifc service name permanently. e.g. I want to change the network service name to connection, so I can use chkconfig command as follow: chkconfig connection off --level 5 # for disabling network service in... (7 Replies)
Discussion started by: leo_ultra_leo
7 Replies

8. UNIX for Dummies Questions & Answers

Set maximum memory for user

Hi, I have as Solaris 10 (x86) system. I want to set the maximum memory for the user But the following comaand is valid only till next reboot.Pls let me know how to make it permanenent. prctl -n project.max-shm-memory -r -v 4G -i project 3 (6 Replies)
Discussion started by: Rossdba
6 Replies

9. Solaris

Set autolist permanently

Hi , How to set autolist permanently in Solaris 10 (2 Replies)
Discussion started by: ankit.padhiyar
2 Replies

10. Red Hat

Cannot set 'soft limits' for 'maximum stack size' for a standard user

Hi Guys, I'm trying to install Oracle Database on to Oracle Linux 7.6 but when the database install package checks the OS set-up, it keeps on failing on the soft limits for the stack. It's default value is 8192 but I'm trying to set it to 10240. This is what I added to... (2 Replies)
Discussion started by: ASGR
2 Replies
shmop(2)							System Calls Manual							  shmop(2)

Name
       shmop, shmat, shmdt - shared memory operations

Syntax
       #include <sys/types.h>
       #include <sys/ipc.h>
       #include <sys/shm.h>

       char *shmat (shmid, shmaddr, shmflg)
       int shmid;
       char *shmaddr;
       int shmflg;

       int shmdt (shmaddr)
       char *shmaddr;

Description
       The  system  call attaches the shared memory segment associated with the shared memory identifier specified by shmid to the data segment of
       the calling process.  The segment is attached at the address specified by one of the following criteria:

       If shmaddr is equal to zero, the segment is attached at the first available address as selected by the system.

       If shmaddr is not equal to zero and (shmflg & SHM_RND ) is true, the segment is attached at the address given by (shmaddr- (shmaddr modulus
       SHMLBA )).

       If shmaddr is not equal to zero and (shmflg & SHM_RND ) is false, the segment is attached at the address given by shmaddr.

       The segment is attached for reading if (shmflg & SHM_RDONLY ) is true. Otherwise, it is attached for reading and writing.

       The system call detaches from the calling process's data segment the shared memory segment located at the address specified by shmaddr.

Return Values
       Upon successful completion, the return values are as follows:

       o   The system call returns the data segment start address of the attached shared memory segment.

       o   The system call returns a value of zero (0).

       Otherwise, a value of -1 is returned, and errno is set to indicate the error.

Diagnostics
       The system call fails and not attach the shared memory segment, if any of the following is true:

       [EINVAL]       The shmid is not a valid shared memory identifier.

       [EACCES]       Operation permission is denied to the calling process.  For further information, see

       [ENOMEM]       The available data space is not large enough to accommodate the shared memory segment.

       [EINVAL]       The shmaddr is not equal to zero, and the value of (shmaddr- (shmaddr modulus SHMLBA )) is an illegal address.

       [EINVAL]       The shmaddr is not equal to zero, (shmflg & SHM_RND ) is false, and the value of shmaddr is an illegal address.

       [EMFILE]       The number of shared memory segments attached to the calling process would exceed the system imposed limit.

       The fails and does not detach the shared memory segment if:

       [EINVAL]       The shmaddr is not the data segment start address of a shared memory segment.

See Also
       execve(2), exit(2), fork(2), shmctl(2), shmget(2)

																	  shmop(2)
All times are GMT -4. The time now is 05:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy