CHMEM(1) General Commands Manual CHMEM(1)NAME
chmem - change memory allocation
chmem [+] [-] [=] amount file
chmem =50000 a.out # Give a.out 50K of stack space
chmem -4000 a.out # Reduce the stack space by 4000 bytes
chmem +1000 file1 # Increase each stack by 1000 bytes
When a program is loaded into memory, it is allocated enough memory for the text and data+bss segments, plus an area for the stack. Data
segment growth using malloc , brk , or sbrk eats up stack space from the low end. The amount of stack space to allocate is derived from a
field in the executable program's file header. If the combined stack and data segment growth exceeds the stack space allocated, the pro-
gram will be terminated.
It is therefore important to set the amount of stack space carefully. If too little is provided, the program may crash. If too much is
provided, memory will be wasted, and fewer programs will be able to fit in memory and run simultaneously. MINIX does not swap, so that
when memory is full, subsequent attempts to fork will fail. The compiler sets the stack space to the largest possible value (for the Intel
CPUs, 64K - text - data). For many programs, this value is far too large. Nonrecursive programs that do not call brk , sbrk , or malloc ,
and do not have any local arrays usually do not need more than 8K of stack space.
The chmem command changes the value of the header field that determines the stack allocation, and thus indirectly the total memory required
to run the program. The = option sets the stack size to a specific value; the + and - options increment and decrement the current value by
the indicated amount. The old and new stack sizes are printed.
SEE ALSO install(1), brk(2).
Check Out this Related Man Page
STACK(9) BSD Kernel Developer's Manual STACK(9)NAME
STACK -- stack macros
A stack is an area of memory with a fixed origin but with a variable size. A stack pointer points to the most recently referenced location
on the stack. Initially, when the stack has a size of zero, the stack pointer points to the origin of the stack. When data items are added
to the stack, the stack pointer moves away from the origin.
The STACK_ALLOC() macro returns a pointer to allocated stack space of some size. Given the returned pointer sp and size, STACK_MAX() returns
the maximum stack address of the allocated stack space. The STACK_ALIGN() macro can be used to align the stack pointer sp by the specified
amount of bytes.
Two basic operations are common to all stacks: a data item is added (``push'') to the location pointed by sp or a data item is removed
(``pop'') from the stack. The stack pointer must be subsequently adjusted by the size of the data item. The STACK_GROW() and STACK_SHRINK()
macros adjust the stack pointer sp by given size.
A stack may grow either up or down. The described macros take this into account by using the __MACHINE_STACK_GROWS_UP preprocessor define.
SEE ALSO param(3), queue(3)BSD April 8, 2011 BSD
I am in the initial stage of learning UNIX. I got PC with Intel SUN SOLARIS S/W. I am planning to install Oracle on the same machine. I have created /export with more than 3gb space, when I have installed the OS. As a Oracle user when I am trying to create a directory I am able to get only 512... (4 Replies)
Please see this:
When i make a declaration as:
char *i, j, *k;
and then do
sprintf( k, "print.sh %s", i );
the program works fine.
But when i change the declaration to:
char *i, *k;
and then do
sprintf( k, "print.sh %s", i );
I get a segmentation fault at the 'sprintf'... (16 Replies)
I have a Java program. I want to measure the total memory used by the program, especially the peak memory. Is there a way to do it?
I have tried utilities like time (which returns 0) and top (which is not very useful) as the program does not run for long.
Can anyone suggest a way to do this?... (5 Replies)
This is our page space , i want some information about page space and I want the good way to how to increase the page space and what's the recommended page space that need to be configured
Page Space Physical Volume Volume Group Size %Used Active Auto Type Chksum
hd6 hdisk0... (8 Replies)
I have 4000 list files and 4000 sequence data files. Each list file contains a number of 'headers' and data file contains 'header and data'. I would like to extract data from the data file using the list file and write into a new file. As each of the files are quite large, an efficient piece... (6 Replies)
I am using AIX 5 and on running topas command. I can see the computational memory is 93.3% with Swap Paging memory at 2.2%. Could you please advise if there is any impact by the growth of computational memory?
Below is the stat:
% Comp 93.3
%... (12 Replies)
I have an input file of the following style
The 4000 at the end indicates the total no. of columns in that row.
I would like to replace all -1s with consecutive 1 and 2 and print the whole line again.
So, the output would be
Thanks in advance. (7 Replies)
I wrote a perl program that simultaneously reads in data from 691 tar.gz files using zcat. I can run one instance of the program without any issues and the memory and swap sizes are negligible. However, when I attempt to run more than 1 I start to get fork: resource unavailable messages. Are... (6 Replies)
I have a large comma separated text file. This file incluede some column which largest than 4000 character(this is not the last column). I tried with sed but i can't do it.
I would like to split to 4000 char this column.
Thank You for your help!
for example: (5 Replies)
Dear Solaris Experts,
I had a Problem with swap consumption in our Production server.
I found error message in /var/adm/message:
Aug 1 10:55:40 production genunix: WARNING: Sorry, no swap space to grow stack for pid 29716 (oracle)
What should I do for temporary solution? I need no... (4 Replies)
I am having 5+ years total unix admin exp in india (5years solarisadminand 2+ years on linuxadmin).Please advice me which technology I need to learn for my career growth and salary growth.
Is it good to go for EMC SAN storage or vmware for higher packages.
Please advice me or I... (4 Replies)
I'm struggling with a problem at the minute. Basically, I have a file with >1000 columns / fields (with headers), each containing a variable number of values. I would like to stack each column such that all the data appears in a single column, e.g. the first value of column 2 is moved to... (5 Replies)