package devkit
Development kit - general purpose library
Install
Dune Dependency
Authors
Maintainers
Sources
devkit-1.20210517.tbz
md5=00995ebead339d6ec1ba7859c3fc3a58
sha256=5ad39c7fa1a966a2f0a7f6dbb7e82c787439c73482f5f44b3c9fb54b040d36eb
sha512=8dd3f7d4aaabae9aa9ede13edee2b22214c0d2e2780bb08b2ca8ed588d74fc6d9b1908bb31dfee49c949c7cc425fb98897b8e0f11280070ebd99b965908ea133
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)"
>