//====================================================================================================================== // // This file is part of waLBerla. waLBerla is free software: you can // redistribute it and/or modify it under the terms of the GNU General Public // License as published by the Free Software Foundation, either version 3 of // the License, or (at your option) any later version. // // waLBerla 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 General Public License // for more details. // // You should have received a copy of the GNU General Public License along // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file MemoryUsage.cpp //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== #include "core/Environment.h" #include "core/MemoryUsage.h" #include "core/debug/CheckFunctions.h" #include "core/debug/TestSubsystem.h" #include "core/logging/Logging.h" #include <vector> using namespace walberla; int main( int argc, char** argv ) { Environment env(argc, argv); WALBERLA_UNUSED(env); debug::enterTestMode(); std::vector<int> stuff(200*1024*1024/sizeof(int),1); auto memSize = getResidentMemorySize(); #ifdef __linux__ WALBERLA_CHECK_GREATER(memSize, 200000); WALBERLA_CHECK_LESS (memSize, 280000); #else WALBERLA_CHECK_EQUAL(memSize, 0); #endif printResidentMemoryStatistics(); WALBERLA_LOG_DEVEL(stuff[0]); //make sure stuff is not optimized return EXIT_SUCCESS; }