program mem_test implicit none integer :: i,iostat real(8), allocatable :: a(:,:) do i = 1000,100000,500 print *, 'Trying to allocate: ', i**2*8._8/1024._8/1024._8, ' MB.' allocate (a(i,i), stat=iostat) if (iostat /= 0) then print*, "Failure! More memory cannot be allocated" exit end if deallocate (a) end do end program