|  |  5.1.89 memory 
See
 option;
 system.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
memshould be set (using the commandoption(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)
 | 
 |