Spec-Zone.ru › Haskell 8
GHC.Stats
Safe Haskell
Надежный
Язык
Haskell2010
Описание
Этот модуль предоставляет доступ к статистике внутренней сборки мусора и использованию памяти. Эта статистика недоступна, если программа не запущена с флагом -T RTS.
Этот модуль предназначен только для GHC и не должен считаться переносимым.
С момента: base-4.5.0.0
Статистика выполнения data RTSStats Исходный код
Статистика работы во время выполнения с момента запуска программы. Это зеркало C struct RTSStats в RtsAPI.h
С момента: base-4.10.0.0
Конструкторы
RTSStats
Поля
gcs :: Word32 Общее число сборок мусора
major_gcs :: Word32 Общее число основных (самого старого поколения) сборок мусора
allocated_bytes :: Word64 Общее количество выделенных байтов
max_live_bytes :: Word64 Максимальный объем живых данных (включая большие объекты + компактные области) в куче. Обновляется после основной сборки мусора.
max_large_objects_bytes :: Word64 Максимальный объем живых данных в больших объектах
max_compact_bytes :: Word64 Максимальный объем живых данных в компактных областях
max_slop_bytes :: Word64 Максимальный объем «свободного места»
max_mem_in_use_bytes :: Word64 Максимальное использование памяти RTS
cumulative_live_bytes :: Word64 Сумма живых байтов во всех основных сборках мусора. Разделение на major_gcs даёт среднее значение живых данных за время работы программы.
copied_bytes :: Word64 Сумма скопированных байтов во всех сборках мусора
par_copied_bytes :: Word64 Сумма скопированных байтов во всех параллельных сборках мусора
cumulative_par_max_copied_bytes :: Word64 Сумма par_max_copied_bytes во всех параллельных сборках мусора. Устарело.
cumulative_par_balanced_copied_bytes :: Word64 Сумма par_balanced_copied байтов во всех параллельных сборках мусора
init_cpu_ns :: RtsTime Общее время ЦП, затраченное на начальный этап @since 4.12.0.0
init_elapsed_ns :: RtsTime Общее время выполнения, затраченное на начальный этап @since 4.12.0.0
mutator_cpu_ns :: RtsTime Общее время ЦП, затраченное мутатором
mutator_elapsed_ns :: RtsTime Общее время выполнения, затраченное мутатором
gc_cpu_ns :: RtsTime Общее время ЦП, затраченное на сборку мусора
gc_elapsed_ns :: RtsTime Общее время выполнения, затраченное на сборку мусора
cpu_ns :: RtsTime Общее время ЦП (на момент предыдущей сборки мусора)
elapsed_ns :: RtsTime Общее время выполнения (на момент предыдущей сборки мусора)
nonmoving_gc_sync_cpu_ns :: RtsTime Время ЦП, затраченное на фазу приостановки после отметки при конкурирующей сборке мусора без перемещения.
nonmoving_gc_sync_elapsed_ns :: RtsTime Время выполнения, затраченное на фазу приостановки после отметки при конкурирующей сборке мусора без перемещения.
nonmoving_gc_sync_max_elapsed_ns :: RtsTime Максимальное время выполнения, затраченное на фазу приостановки после отметки при конкурирующей сборке мусора без перемещения.
nonmoving_gc_cpu_ns :: RtsTime Время ЦП, затраченное на фазу приостановки после отметки при конкурирующей сборке мусора без перемещения.
nonmoving_gc_elapsed_ns :: RtsTime Время выполнения, затраченное на фазу приостановки после отметки при конкурирующей сборке мусора без перемещения.
nonmoving_gc_max_elapsed_ns :: RtsTime Максимальное время выполнения, затраченное на фазу приостановки после отметки при конкурирующей сборке мусора без перемещения.
gc :: GCDetails Подробности о последней сборке мусора
Экземпляры
Подробности экземпляров
data GCDetails Исходный код
Статистика по одной сборке мусора. Это зеркало C struct
GCDetails в RtsAPI.h, с префиксом поля gc_ для предотвращения конфликтов с RTSStats
Конструкторы
GCDetails
Поля
gcdetails_gen :: Word32 Номер поколения этого сборщика мусора
gcdetails_threads :: Word32 Количество потоков, используемых в этом сборщике мусора
gcdetails_allocated_bytes :: Word64 Количество байтов, выделенных с момента предыдущего сборщика мусора
gcdetails_live_bytes :: Word64 Общее количество живых данных в куче (включает большие + компактные данные). Обновляется после каждого сборщика мусора. Данные в несобранных поколениях (в небольших сборщиках мусора) считаются живыми.
gcdetails_large_objects_bytes :: Word64 Общее количество живых данных в больших объектах
gcdetails_compact_bytes :: Word64 Общее количество живых данных в компактных областях
gcdetails_slop_bytes :: Word64 Общее количество отходов (потерянной памяти)
gcdetails_mem_in_use_bytes :: Word64 Общее количество используемой памяти RTS
gcdetails_copied_bytes :: Word64 Общее количество данных, скопированных во время этого сборщика мусора
gcdetails_par_max_copied_bytes :: Word64 В параллельном сборщике мусора максимальное количество данных, скопированных одним потоком. Устаревшее.
gcdetails_par_balanced_copied_bytes :: Word64 В параллельном сборщике мусора количество сбалансированных данных, скопированных всеми потоками
gcdetails_sync_elapsed_ns :: RtsTime Время, затраченное на синхронизацию перед сборкой мусора
gcdetails_cpu_ns :: RtsTime Время процессора, затраченное на сам сборщик мусора
gcdetails_elapsed_ns :: RtsTime Время, затраченное на сам сборщик мусора
gcdetails_nonmoving_gc_sync_cpu_ns :: RtsTime Время процессора, затраченное на фазу паузы после маркировки в конкурентном сборщике мусора без перемещения.
gcdetails_nonmoving_gc_sync_elapsed_ns :: RtsTime Время, затраченное на фазу паузы после маркировки в конкурентном сборщике мусора без перемещения.
Примеры использования
Подробности примеров использования
type RtsTime = Int64 Исходный код
Значения времени от RTS, используя фиксированную точность наносекунды.
getRTSStats :: IO RTSStats Исходный код
Получить текущую статистику системы выполнения.
С версии: base-4.10.0.0
getRTSStatsEnabled :: IO Bool Исходный код
Возвращает, включена ли статистика сборщика мусора (например, с помощью +RTS -T).
С версии: base-4.10.0.0