X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMDS%2FSMDS_MemoryLimit.cxx;h=feb6329ff10ed3a6e3e50ed7fdb7566b531b46d2;hb=ff873c8b10f4cc15316f4ee7e1331ec1b4e0c1ab;hp=4de22248e04cf97a9e8e5f8df2c925587d651d31;hpb=0635c9fc80f67d1e5dc0e94ec85f487286a92070;p=modules%2Fsmesh.git diff --git a/src/SMDS/SMDS_MemoryLimit.cxx b/src/SMDS/SMDS_MemoryLimit.cxx index 4de22248e..feb6329ff 100644 --- a/src/SMDS/SMDS_MemoryLimit.cxx +++ b/src/SMDS/SMDS_MemoryLimit.cxx @@ -1,33 +1,31 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. // -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File : SMDS_MemoryLimit.cxx // Created : Fri Sep 21 17:16:42 2007 // Author : Edward AGAPOV (eap) // Executable to find out a lower RAM limit (MB), i.e. at what size of freeRAM // reported by sysinfo, no more memory can be allocated. -// This is not done inside a function of SALOME because allocated memory is not returned -// to the system. (PAL16631) +// This is not done inside a function of SALOME because allocated memory is not always +// returned to the system. (PAL16631) // -#ifndef WIN32 +#if !defined WIN32 && !defined __APPLE__ #include #endif @@ -35,20 +33,20 @@ #include #endif -int main (int argc, char ** argv) +int main () { // To better understand what is going on here, consult bug [SALOME platform 0019911] -#ifndef WIN32 +#if !defined WIN32 && !defined __APPLE__ struct sysinfo si; int err = sysinfo( &si ); if ( err ) return -1; unsigned long freeRamKb = ( si.freeram * si.mem_unit ) / 1024; - // totat RAM size in Gb, float is in order not to have 1 instead of 1.9 + // total RAM size in Gb, float is in order not to have 1 instead of 1.9 float totalramGb = float( si.totalram * si.mem_unit ) / 1024 / 1024 / 1024; - // nb Kbites to allocate at one step. Small nb leads to hung up + // nb Kbytes to allocate at one step. Small nb leads to hung up const int stepKb = int( 5 * totalramGb ); unsigned long nbSteps = freeRamKb / stepKb * 2;