CHMEM.1
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:2k
源码类别:

操作系统开发

开发平台:

C/C++

  1. CHMEM(1)                  Minix Programmer's Manual                   CHMEM(1)
  2. NAME
  3.      chmem - change memory allocation
  4. SYNOPSIS
  5.      chmem [+] [-] [=] amount file
  6. EXAMPLES
  7.      chmem =50000 a.out  # Give a.out 50K of stack space
  8.      chmem -4000 a.out   # Reduce the stack space by 4000 bytes
  9.      chmem +1000 file1   # Increase each stack by 1000 bytes
  10. DESCRIPTION
  11.      When a program is loaded into memory, it is allocated enough  memory  for
  12.      the text and data+bss segments, plus an area for the stack.  Data segment
  13.      growth using malloc , brk , or sbrk eats up stack space from the low end.
  14.      The  amount  of  stack  space  to allocate is derived from a field in the
  15.      executable program's file header.  If the combined stack and data segment
  16.      growth exceeds the stack space allocated, the program will be terminated.
  17.      It is therefore important to set the amount of stack space carefully.  If
  18.      too  little is provided, the program may crash.  If too much is provided,
  19.      memory will be wasted, and fewer programs will be able to fit  in  memory
  20.      and  run  simultaneously.   MINIX  does  not swap, so that when memory is
  21.      full, subsequent attempts to fork will fail.  The compiler sets the stack
  22.      space  to  the  largest  possible value (for the Intel CPUs, 64K - text -
  23.      data).  For many programs, this value is  far  too  large.   Nonrecursive
  24.      programs  that  do  not call brk , sbrk , or malloc , and do not have any
  25.      local arrays usually do not need more than 8K of stack space.
  26.      The chmem command changes the value of the header field  that  determines
  27.      the  stack  allocation,  and thus indirectly the total memory required to
  28.      run the program.  The = option sets the stack size to a  specific  value;
  29.      the  +  and  -  options  increment and decrement the current value by the
  30.      indicated amount.  The old and new stack sizes are printed.
  31. SEE ALSO
  32.      install(1), brk(2).
  33.                                                                              1