package devkit
Development kit - general purpose library
Install
Dune Dependency
Authors
Maintainers
Sources
devkit-1.20240429.tbz
sha256=222f8ac131b1d970dab7eeb2714bfd6b9338b88b1082e6e01c136ae19e7eaef4
sha512=c9e6d93e3d21e5530c0f4d5baca51bf1f0a5d19248f8af7678d0665bb5cdf295d7aaaaa3e50eb2e44b8720e55097cc675af4dc8ec45acf9da39feb3eae1405d5
doc/devkit.core/Devkit_core/Memory/index.html
Module Devkit_core.Memory
Source
Memory reporting - GC and OS, optionally malloc
General background:
- VSZ is not very intersting, this is the amount of memory which is mapped to the process address space. It's not really memory use, only the amount of memory the process can access without triggering a segfault.
- RSS is resident set size: this is the real world data. It's tracked by kernel and is the amount of memory currently allocated to this process. Most of the time this is what you want to look at.
- Malloc stats: those are metrics tracked by C malloc (jemalloc, tcmalloc, glibc, etc).
- size is basically like VSZ but from malloc point of view. That is it does not include mmap files for instance.
- used is basically RSS from malloc point of view.
- heap is the sum of all currently malloced values for which
free
had not been called. So this is what application requested, not including metadata, cache, etc - Gc stats are one level above and are tracked by ocaml gc. e.g. heap is the total size allocate for ocaml program. See
Gc
module documentation for more details.
Source
type t = {
rss : int;
(*resident set size
*)vsize : int;
(*virtual memory size
*)nr_maps : int;
(*number of VM mappings
*)swap_used : int;
(*used swap size
*)
}
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>