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
GETRLIMIT(2)						      BSD System Calls Manual						      GETRLIMIT(2)

NAME
getrlimit, setrlimit -- control maximum system resource consumption LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> int getrlimit(int resource, struct rlimit *rlp); int setrlimit(int resource, const struct rlimit *rlp); DESCRIPTION
Limits on the consumption of system resources by the current process and each process it creates may be obtained with the getrlimit() system call, and set with the setrlimit() system call. The resource argument is one of the following: RLIMIT_AS The maximum amount (in bytes) of virtual memory the process is allowed to map. RLIMIT_CORE The largest size (in bytes) core(5) file that may be created. RLIMIT_CPU The maximum amount of cpu time (in seconds) to be used by each process. RLIMIT_DATA The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the sbrk(2) function. RLIMIT_FSIZE The largest size (in bytes) file that may be created. RLIMIT_MEMLOCK The maximum size (in bytes) which a process may lock into memory using the mlock(2) system call. RLIMIT_NOFILE The maximum number of open files for this process. RLIMIT_NPROC The maximum number of simultaneous processes for this user id. RLIMIT_RSS The maximum size (in bytes) to which a process's resident set size may grow. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size. RLIMIT_SBSIZE The maximum size (in bytes) of socket buffer usage for this user. This limits the amount of network memory, and hence the amount of mbufs, that this user may hold at any time. RLIMIT_STACK The maximum size (in bytes) of the stack segment for a process; this defines how far a program's stack segment may be extended. Stack extension is performed automatically by the system. RLIMIT_SWAP The maximum size (in bytes) of the swap space that may be reserved or used by all of this user id's processes. This limit is enforced only if bit 1 of the vm.overcommit sysctl is set. Please see tuning(7) for a complete description of this sysctl. RLIMIT_NPTS The maximum number of pseudo-terminals created by this user id. A resource limit is specified as a soft limit and a hard limit. When a soft limit is exceeded a process may receive a signal (for example, if the cpu time or file size is exceeded), but it will be allowed to continue execution until it reaches the hard limit (or modifies its resource limit). The rlimit structure is used to specify the hard and soft limits on a resource, struct rlimit { rlim_t rlim_cur; /* current (soft) limit */ rlim_t rlim_max; /* maximum value for rlim_cur */ }; Only the super-user may raise the maximum limits. Other users may only alter rlim_cur within the range from 0 to rlim_max or (irreversibly) lower rlim_max. An ``infinite'' value for a limit is defined as RLIM_INFINITY. Because this information is stored in the per-process information, this system call must be executed directly by the shell if it is to affect all future processes created by the shell; limit is thus a built-in command to csh(1). The system refuses to extend the data or stack space when the limits would be exceeded in the normal way: a brk(2) function fails if the data space limit is reached. When the stack limit is reached, the process receives a segmentation fault (SIGSEGV); if this signal is not caught by a handler using the signal stack, this signal will kill the process. A file I/O operation that would create a file larger that the process' soft limit will cause the write to fail and a signal SIGXFSZ to be generated; this normally terminates the process, but may be caught. When the soft cpu time limit is exceeded, a signal SIGXCPU is sent to the offending process. RETURN VALUES
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS
The getrlimit() and setrlimit() system calls will fail if: [EFAULT] The address specified for rlp is invalid. [EPERM] The limit specified to setrlimit() would have raised the maximum limit value, and the caller is not the super-user. SEE ALSO
csh(1), quota(1), quotactl(2), sigaltstack(2), sigvec(2), sysctl(3), ulimit(3) HISTORY
The getrlimit() system call appeared in 4.2BSD. BSD
August 20, 2008 BSD
All times are GMT -4. The time now is 10:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy