2016-08-22 2 views
3

Wenn Sie ein Haskell-Programm ausführen, meldet + RTS -s Informationen wie "maximale Byte-Residenz". Gibt es eine Möglichkeit, auf diese Informationen innerhalb eines Haskell-Programms zuzugreifen? Gibt es eine Bibliothek auf Hackage, die diese Funktionalität bietet?Zugriff auf "+ RTS -s" oder andere Speicherinformationen innerhalb eines Haskell-Programms?

Falls nicht, gibt es eine Möglichkeit, auf die derzeit verwendete Speichermenge zuzugreifen? Zum Beispiel die Menge angezeigt durch den Terminal-Befehl "top"?

Antwort

5

Schauen Sie sich die getGCStats Funktion im GHC.Stats Paket an.

Das Feld currentBytesUsed meldet die Anzahl der Live-Bytes am Ende des letzten Haupt-GC.

Beachten Sie auch die Kommentare in der Dokumentation über die Aktivierung der Option RTS -T und vielleicht vorher performGC aufrufen.

Verwandte Themen