Open main menu

OpenVZ Virtuozzo Containers Wiki β

/proc/user_beancounters

Revision as of 11:17, 8 April 2008 by Kir (talk | contribs) (try to add slash to page name)

The proc filesystem entry showing resource control information is /proc/user_beancounters file. An example content of /proc/user_beancounters is shown below.

Yellowpin.svg Note: This article describes an old interface. This is kept for compatibility and new one will be used since 028test008 kernel

Contents

Example

# cat /proc/user_beancounters
Version: 2.5
       uid  resource           held    maxheld    barrier      limit    failcnt
       123: kmemsize         836919    1005343    2752512    2936012          0
            lockedpages           0          0         32         32          0
            privvmpages        4587       7289      49152      53575          0
            shmpages             39         39       8192       8192          0
            dummy                 0          0          0          0          0
            numproc              20         26         65         65          0
            physpages          2267       2399          0 2147483647          0
            vmguarpages           0          0       6144 2147483647          0
            oomguarpages       2267       2399       6144 2147483647          0
            numtcpsock            3          3         80         80          0
            numflock              3          4        100        110          0
            numpty                1          1         16         16          0
            numsiginfo            0          1        256        256          0
            tcpsndbuf             0          0     319488     524288          0
            tcprcvbuf             0          0     319488     524288          0
            othersockbuf       6684       7888     132096     336896          0
            dgramrcvbuf           0       8372     132096     132096          0
            numothersock          8         10         80         80          0
            dcachesize        87672      92168    1048576    1097728          0
            numfile             238        306       2048       2048          0
            dummy                 0          0          0          0          0
            dummy                 0          0          0          0          0
            dummy                 0          0          0          0          0
            numiptent            10         16        128        128          0

Fields

The field uid is a numeric identifier of the container[1].

For accountable parameters, the field held shows the current counter for the container (resource “usage”), and the field maxheld shows the counter's maximum for the last accounting period. The accounting period is usually the lifetime of the container[2].

The field failcnt shows the number of refused “resource allocations” for the whole lifetime of the process group.

The barrier and limit fields are resource control settings. For some parameters, only one of them may be used, for some parameters — both. These fields may specify limits or guarantees, and the exact meaning of them is parameter-specific. Description of each parameter in UBC parameters contains information about the difference between the barrier and the limit for the parameter.

Units of measurement

As also discussed in UBC parameter units, all values related to parameters with names starting with num are measured in pieces. Values related to parameters with names ending with pages are measured in memory pages (memory page is 4 kilobytes on x86 and x86_64 hardware, others may differ). Values related to other parameters are measured in bytes.

Settings

General notes about parameters and their barrier and limit settings are provided in UBC parameters. Parameters not having limit setting have MAX_ULONG in the corresponding field.

Reading

If you want to print UBC values for a specific container, the following construct can be helpful

 egrep -A23 '^[[:space:]]+${CTID}:' /proc/user_beancounters

Here ${CTID} is the ID of the container you are interested in.

In case you want to print UBC values for a few containers at once, set CTID to something like (101|102|103).

Notes

  1. The name “uid” is related to the fact that OpenVZ Resource Management can be used without virtualization and containers.
  2. The lifetime of a container is the period from the start of the container till the time all processes in the container exited and all resources used by these processes are freed. Usually, the lifetime is just the time between the start and the stop of the container.