  | ### 5.1.89 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     : 154560 Byte ( 151 KByte)
      ==> Memory currently allocated from system: 2236416 Byte ( 2184 KByte)
      ==> Maximal memory allocated from system  : 2236416 Byte ( 2184 KByte)
        kill p;
        ReportMemoryUsage(); // less memory used: p killed
      ==> Memory currently used by SINGULAR     : 83992 Byte ( 82 KByte)
      ==> Memory currently allocated from system: 2236416 Byte ( 2184 KByte)
      ==> Maximal memory allocated from system  : 2236416 Byte ( 2184 KByte)
        kill r;
        ReportMemoryUsage(); // even less memory: r killed
      ==> Memory currently used by SINGULAR     : 71752 Byte ( 70 KByte)
      ==> Memory currently allocated from system: 2236416 Byte ( 2184 KByte)
      ==> Maximal memory allocated from system  : 2236416 Byte ( 2184 KByte)
See option; system.

User manual for Singular version 4.4.0, 2024, generated by texi2html.