mac osx (catalina)
gfortran 9.3.0 from homebrew
htop 2.2.0 from homebrew
У меня есть следующая программа в memtest.f90
, которую я компилирую с помощью gfortran memtest.f90 -o test
, а затем вызываю с помощью ./test
program main
implicit none
integer, parameter :: n=100000000
real, allocatable :: values(:)
print *, "no memory used yet, press enter"
read(*,*)
allocate(values(n))
values = 0.0
print *, "used a lot of memory, press enter"
read(*,*)
deallocate(values)
print *, "why is the memory still there in htop"
read(*,*)
end program main
Я ожидаю, что память, используемая программой, исчезнет после вызов оператора освобождения, однако, как обозначено htop
, он продолжает зависать примерно на 382 МБ (см. изображение ниже)
это утечка памяти, и если да, то как мне правильно освободить память или я просто делаете что-то не так, глядя на память, потребляемую программой?
![enter image description here](https://i.stack.imgur.com/06xPA.png)