User Beancounters or UBC is the set of limits and guarantees which is the core resource management component in Virtuozzo kernel for both Parallels Virtuozzo Containers and OpenVZ products. This article describes the purpose of UBC limits and guarantees.

Information about User Beancouters can be found on the node and inside the container in /proc/user_beancounters. For more information about the file structure, refer to this article:
1354 What are those User Beancounters?

Primary UBC parameters

numproc - maximum number of processes and kernel-level threads allowed for a container.

numtcpsock - maximum number of TCP sockets.

numothersock - maximum number of non-TCP sockets (local sockets, UDP, and other types of sockets).

vmguarpages - memory allocation guarantee.

Secondary UBC parameters

kmemsize - size of unswappable memory in bytes, allocated by the operating system kernel.

tcpsndbuf - the total size of buffers used to send data over TCP network connections.

tcprcvbuf - the total size of buffers used to temporarily store the data coming from TCP network connections.

othersockbuf - the total size of buffers used by local (UNIX-domain) connections between processes inside the system (such as connections to a local database server) and send buffers of UDP and other datagram protocols.

dgramrcvbuf - the total size of buffers used to temporarily store the incoming packets of UDP and other datagram protocols.

oomguarpages - the guaranteed amount of memory in case the memory is "over-booked" (out-of-memory kill guarantee).

privvmpages - memory allocation limit in pages (which are typically 4096 bytes in size).

Auxillary UBC parameters

lockedpages - process pages not allowed to be swapped out (pages locked by mlock(2)).

shmpages - the total size of shared memory (IPC, shared anonymous mappings, and tmpfs objects).

physpages - the total number of RAM pages used by processes in a container. Before 2.6.32-based kernels were used in accounting-only purposes.

numfile - the number of open files.

numflock - the number of file locks

numpty - the number of pseudo-terminals.

numsiginfo - the number of siginfo structures.

dcachesize - the total size of dentry and inode structures locked in memory.

numiptent - the number of NETFILTER (IP packet filtering) entries.

swappages - the amount of swap space to show in container. Available starting from 2.6.32-based kernel.

Additional information

For more information, review the following sources:
Memory Management in PVC for Linux
UBC Management Guide
OpenVZ Wiki
Parallels Virtuozzo Containers 4.7 for Linux User's Guide

Internal content