Difference between revisions of "Proc/user beancounters"
Botinki Kira (talk | contribs) m (Robot: Automated text replacement (-VEs +containers)) |
Nathanhaigh (talk | contribs) (→Reading: fixed a typo) |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{UBC toc}} | {{UBC toc}} | ||
− | {{DISPLAYTITLE:proc/user_beancounters}} | + | {{DISPLAYTITLE:/proc/user_beancounters}} |
The proc filesystem entry showing resource control information is <code>/proc/user_beancounters</code> file. An example content of <code>/proc/user_beancounters</code> is shown below. | The proc filesystem entry showing resource control information is <code>/proc/user_beancounters</code> file. An example content of <code>/proc/user_beancounters</code> is shown below. | ||
Line 38: | Line 38: | ||
== Fields == | == Fields == | ||
− | The field '''<code>uid</code>''' is a numeric identifier of the | + | The field '''<code>uid</code>''' is a numeric identifier of the container<ref>The name “uid” is related to the fact that OpenVZ Resource Management can be used without virtualization and containers.</ref>. |
− | For accountable parameters, the field '''<code>held</code>''' shows the current counter for the | + | For accountable parameters, the field '''<code>held</code>''' shows the current counter for the container (resource “usage”), and the field '''<code>maxheld</code>''' shows the counter's maximum for the last accounting period. The accounting period is usually the lifetime of the container<ref>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.</ref>. |
The field '''<code>failcnt</code>''' shows the number of refused “resource allocations” for the whole lifetime of the process group. | The field '''<code>failcnt</code>''' shows the number of refused “resource allocations” for the whole lifetime of the process group. | ||
Line 51: | Line 51: | ||
the <code>limit</code> for the parameter. | the <code>limit</code> for the parameter. | ||
− | == Units | + | == Units == |
− | + | {{Main|UBC parameter units}} | |
− | |||
− | |||
− | |||
== Settings == | == Settings == | ||
Line 61: | Line 58: | ||
General notes about parameters and their barrier and limit settings | General notes about parameters and their barrier and limit settings | ||
are provided in [[UBC parameters]]. Parameters not having limit setting have | are provided in [[UBC parameters]]. Parameters not having limit setting have | ||
− | [[ | + | [[LONG_MAX]] in the corresponding field. |
== Reading == | == Reading == | ||
− | + | {{Note|It's easier to use [[BC proc entries|the new <code>/proc/bc</code> interface]], i.e. <code>cat /proc/bc/$CTID/resources</code>.}} | |
− | + | If you want to print UBC values for a specific container, the following construct can be helpful | |
− | Here <code>${CTID}</code> is the ID of the | + | <nowiki>egrep -A23 "${CTID}:" /proc/user_beancounters</nowiki> |
+ | |||
+ | Or with headers, though slightly harder to remember: | ||
+ | |||
+ | <nowiki>sed -nr "1,2p;/${CTID}:/,+23p" /proc/user_beancounters</nowiki> | ||
+ | |||
+ | Here <code>${CTID}</code> 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 <code>(101|102|103)</code>. | In case you want to print UBC values for a few containers at once, set CTID to something like <code>(101|102|103)</code>. |
Latest revision as of 23:28, 15 August 2011
|
The proc filesystem entry showing resource control information is /proc/user_beancounters
file. An example content of /proc/user_beancounters
is shown below.
Note: This article describes an old interface. This is kept for compatibility and new one will be used since 028test008 kernel
|
Example[edit]
# 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[edit]
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[edit]
Settings[edit]
General notes about parameters and their barrier and limit settings are provided in UBC parameters. Parameters not having limit setting have LONG_MAX in the corresponding field.
Reading[edit]
Note: It's easier to use the new /proc/bc interface, i.e. cat /proc/bc/$CTID/resources .
|
If you want to print UBC values for a specific container, the following construct can be helpful
egrep -A23 "${CTID}:" /proc/user_beancounters
Or with headers, though slightly harder to remember:
sed -nr "1,2p;/${CTID}:/,+23p" /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[edit]
- ↑ The name “uid” is related to the fact that OpenVZ Resource Management can be used without virtualization and containers.
- ↑ 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.