CHMEM.1
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:2k
- CHMEM(1) Minix Programmer's Manual CHMEM(1)
- NAME
- chmem - change memory allocation
- SYNOPSIS
- chmem [+] [-] [=] amount file
- EXAMPLES
- 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
- DESCRIPTION
- 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 program 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).
- 1