Module Core_extended.Malloc

Malloc bindings

Allows you to set/query the behaviour of malloc. The functions in this module may not be implemented on your platform.

type mallinfo = {
arena : int;

(** non-mmapped space allocated from system *)

ordblks : int;

(** number of free chunks *)

smblks : int;

(** number of fastbin blocks *)

hblks : int;

(** number of mmapped regions *)

hblkhd : int;

(** space in mmapped regions *)

usmblks : int;

(** maximum total allocated space *)

fsmblks : int;

(** space available in freed fastbin blocks *)

uordblks : int;

(** total allocated space *)

fordblks : int;

(** total free space *)

keepcost : int;

(** top-most, releasable (via malloc_trim) space *)

}
include sig ... end
val bin_mallinfo : mallinfo Bin_prot.Type_class.t
val bin_read_mallinfo : mallinfo Bin_prot.Read.reader
val __bin_read_mallinfo__ : (int ‑> mallinfo) Bin_prot.Read.reader
val bin_reader_mallinfo : mallinfo Bin_prot.Type_class.reader
val bin_size_mallinfo : mallinfo Bin_prot.Size.sizer
val bin_write_mallinfo : mallinfo Bin_prot.Write.writer
val bin_writer_mallinfo : mallinfo Bin_prot.Type_class.writer
val bin_shape_mallinfo : Bin_prot.Shape.t
val mallinfo_of_sexp : Sexplib.Sexp.t ‑> mallinfo
val sexp_of_mallinfo : mallinfo ‑> Sexplib.Sexp.t
type opt =
| TRIM_THRESHOLD

(** Maximum amount of unused top-most memory to keep before releasing via malloc_trim in free(). *)

| TOP_PAD

(** Amount of extra `padding' space to allocate or retain whenever sbrk is called. *)

| MMAP_THRESHOLD

(** Request size threshold for using mmap() to service a request. Requests of at least this size that cannot be allocated using already-existing space will be serviced via mmap. *)

| MMAP_MAX

(** Maximum number of requests to simultaneously service using mmap. *)

| CHECK_ACTION

(** ??? *)

Malloc options

include sig ... end
val bin_read_opt : opt Bin_prot.Read.reader
val __bin_read_opt__ : (int ‑> opt) Bin_prot.Read.reader
val bin_reader_opt : opt Bin_prot.Type_class.reader
val bin_size_opt : opt Bin_prot.Size.sizer
val bin_write_opt : opt Bin_prot.Write.writer
val bin_writer_opt : opt Bin_prot.Type_class.writer
val bin_shape_opt : Bin_prot.Shape.t
val opt_of_sexp : Sexplib.Sexp.t ‑> opt
val sexp_of_opt : opt ‑> Sexplib.Sexp.t
val mallinfo : (unit ‑> mallinfo) Core.Or_error.t

mallinfo ()

val mallopt : (opt ‑> int ‑> unit) Core.Or_error.t

mallopt opt n sets malloc configuration option opt to n.

val malloc_trim : (int ‑> unit) Core.Or_error.t

malloc_trim n release all but n bytes of freed top-most memory back to the system.

val malloc_stats : (unit ‑> unit) Core.Or_error.t

malloc_stats () prints brief summary statistics on stderr.