tem_trackmem Subroutine

public subroutine tem_trackmem(memfile, iteration)

Write the current memory status into the memfile.

The file will be opened and closed, so this might be slow. Only the root process writes to this file, but the data is gathered from all processes. The output will be prepended by the current date. We will track the VmHWM: from /proc/self/status, MemFree:, Buffers: and Cached: from /proc/meminfo and pgmajfault from /proc/vmstat The min, max and average across all processes will be recorded.

Arguments

TypeIntentOptionalAttributesName
character(len=*), intent(in) :: memfile
integer, intent(in) :: iteration

Calls

proc~~tem_trackmem~~CallsGraph proc~tem_trackmem tem_trackmem mpi_comm_size mpi_comm_size proc~tem_trackmem->mpi_comm_size proc~tem_open tem_open proc~tem_trackmem->proc~tem_open proc~my_status_int my_status_int proc~tem_trackmem->proc~my_status_int mpi_comm_rank mpi_comm_rank proc~tem_trackmem->mpi_comm_rank mpi_reduce mpi_reduce proc~tem_trackmem->mpi_reduce proc~my_status_int_vec my_status_int_vec proc~tem_trackmem->proc~my_status_int_vec proc~newunit newunit proc~tem_open->proc~newunit proc~upper_to_lower upper_to_lower proc~tem_open->proc~upper_to_lower proc~tem_abort tem_abort proc~tem_open->proc~tem_abort proc~my_status_string my_status_string proc~my_status_int->proc~my_status_string proc~my_status_string_vec my_status_string_vec proc~my_status_int_vec->proc~my_status_string_vec proc~my_status_string->proc~newunit proc~print_self_status print_self_status proc~my_status_string->proc~print_self_status proc~my_status_string_vec->proc~newunit proc~my_status_string_vec->proc~print_self_status mpi_abort mpi_abort proc~tem_abort->mpi_abort proc~print_self_status->proc~newunit

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, public :: myMem(5)
integer, public :: minMem(5)
integer, public :: maxMem(5)
integer, public :: nProcs
integer, public :: iError
integer, public :: funit
integer, public :: myRank
logical, public :: fexists
character(len=8), public :: fstat
character(len=8), public :: today
character(len=10), public :: now
real, public :: myScale(5)
real, public :: sumMem(5)
real, public :: avgMem(5)