2016-08-22 4 views
3

При запуске программы Haskell + RTS -s сообщает информацию, такую ​​как «максимальное количество мест байтов». Есть ли способ получить доступ к этой информации из программы Haskell? Есть ли библиотека в Hackage, которая предоставляет эту функциональность?Как получить доступ к «+ RTS -s» или другой информации о памяти из программы Haskell?

Если нет, есть ли способ получить доступ к количеству используемой памяти в настоящее время? Например, сумма, отображаемая командой терминала «top»?

ответ

5

Посмотрите на функцию getGCStats в пакете GHC.Stats.

Поле currentBytesUsed сообщит о количестве активных байтов в конце последнего основного GC.

Также обратите внимание на комментарии в документах о включении опции RTS -T и, возможно, предварительно позвонить performGC.