### 5.1.84 memory

`Syntax:`
  `memory (` int_expression `)`
`Type:`
  bigint
`Purpose:`
  returns statistics concerning the memory management:
  - `memory(0)` is the number of active (used) bytes,
  - `memory(1)` is the number of bytes allocated from the operating system,
  - `memory(2)` is the maximal number of bytes ever allocated from the operating system during the current SINGULAR session.
`Note:`
  To monitor the memory usage during ongoing computations the option `mem` should be set (using the command `option(mem);`, see also option).
`Example:`

        ring r=0,(x(1..500)),dp;
        poly p=(x(1)+x(500))^50;
        proc ReportMemoryUsage()
        {  "Memory currently used by SINGULAR     :",memory(0),"Byte (",
           int(memory(0) div 1024), "KByte)" +newline+
           "Memory currently allocated from system:",memory(1), "Byte (",
           int(memory(1) div 1024), "KByte)";
           "Maximal memory allocated from system  :",memory(2), "Byte (",
           int(memory(2) div 1024), "KByte)";
        }
        ReportMemoryUsage();
      ==> Memory currently used by SINGULAR     : 174904 Byte ( 170 KByte)
      ==> Memory currently allocated from system: 2228224 Byte ( 2176 KByte)
      ==> Maximal memory allocated from system  : 2237736 Byte ( 2185 KByte)
        kill p;
        ReportMemoryUsage(); // less memory used: p killed
      ==> Memory currently used by SINGULAR     : 104344 Byte ( 102 KByte)
      ==> Memory currently allocated from system: 2228224 Byte ( 2176 KByte)
      ==> Maximal memory allocated from system  : 2237736 Byte ( 2185 KByte)
        kill r;
        ReportMemoryUsage(); // even less memory: r killed
      ==> Memory currently used by SINGULAR     : 91304 Byte ( 89 KByte)
      ==> Memory currently allocated from system: 2228224 Byte ( 2176 KByte)
      ==> Maximal memory allocated from system  : 2237736 Byte ( 2185 KByte)

See option; system.

User manual for Singular version 4-0-3, 2016, generated by texi2html.