Up

Module Malloc

Malloc bindings

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

Signature

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 *)
}
val bin_read_mallinfo : mallinfo Core.Std.Bin_prot.Read.reader
val __bin_read_mallinfo__ : (int -> mallinfo) Core.Std.Bin_prot.Read.reader
val bin_size_mallinfo : mallinfo Core.Std.Bin_prot.Size.sizer
val bin_write_mallinfo : mallinfo Core.Std.Bin_prot.Write.writer
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

val __bin_read_opt__ : (int -> opt) Core.Std.Bin_prot.Read.reader
val bin_size_opt : opt Core.Std.Bin_prot.Size.sizer
val bin_write_opt : opt Core.Std.Bin_prot.Write.writer
val opt_of_sexp : Sexplib.Sexp.t -> opt
val sexp_of_opt : opt -> Sexplib.Sexp.t
val mallinfo : (unit -> mallinfo) Core.Std.Or_error.t

mallinfo ()

Returns information on the state of malloced memory (C-heap).
val mallopt : (opt -> int -> unit) Core.Std.Or_error.t

mallopt opt n sets malloc configuration option opt to n.

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

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

Raises [Failure] if unsuccessful.
val malloc_stats : (unit -> unit) Core.Std.Or_error.t

malloc_stats () prints brief summary statistics on stderr.