Editing UBC failcnt reset

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 9: Line 9:
 
There can be many applications that read <code>/proc/user_beancounters</code>, and thus if you will reset it, you may have problems with those other apps. Consider what happens if you reset your sent/received packets/bytes statistics on a network interface — programs which track it may not function properly.  
 
There can be many applications that read <code>/proc/user_beancounters</code>, and thus if you will reset it, you may have problems with those other apps. Consider what happens if you reset your sent/received packets/bytes statistics on a network interface — programs which track it may not function properly.  
  
Therefore, the proper usage of failcnt is not to check whether it is zero or not, but to check whether it is increased since the previous readout. In other words, check the difference, not the absolute value. There is a utility {{Man|vzubc|8}} which can be used for that purpose. Also, see [[#Bash script]] below.
+
Therefore, the proper usage of failcnt is not to check whether it is zero or not, but to check whether it is increased since the previous readout. In other words, check the difference, not the absolute value. It is easy to write a simple script to do just that.
 +
 
 +
(See [[#Bash script]] for an example script)
  
 
== OK, I understand, but I still want to clear failcnt! ==
 
== OK, I understand, but I still want to clear failcnt! ==
Line 15: Line 17:
 
UBC failcnts are stored for the duration of the uptime of your container. Thus, restarting the container resets the counts.
 
UBC failcnts are stored for the duration of the uptime of your container. Thus, restarting the container resets the counts.
  
The problem here is tcp time wait buckets can still be there after a container is stopped. You can check that by seeing the <code>held</code> column for <code>kmemsize</code> parameter. If it is not zero, that means you have to wait about 5 minutes in order to time wait buckets to expire, and the corresponding beancounter to be uncharged.
+
The problem here is tcp time wait buckets can still there after a container is stopped. You can check that by seeing the <code>held</code> column for <code>kmemsize</code> parameter. If it is not zero, that means you have to wait about 5 minutes in order to time wait buckets to expire, and the corresponding beancounter to be uncharged.
  
 
If you still see failcnt not reset to 0 after more than 5 minutes after container is stopped, your kernel was likely compiled with CONFIG_UBC_KEEP_UNUSED=y, and in that case you'll have to switch off this option if you want to reset beancounters when container is restarted.  
 
If you still see failcnt not reset to 0 after more than 5 minutes after container is stopped, your kernel was likely compiled with CONFIG_UBC_KEEP_UNUSED=y, and in that case you'll have to switch off this option if you want to reset beancounters when container is restarted.  
  
If you're sure your kernel was NOT compiled with the above option and it's not resetting failcnt after 5 minutes, it means there is a bug in UBC code. Please file a detailed [[bug report]] to [http://bugs.openvz.org bugs.openvz.org]
+
If you're sure your kernel was NOT compiled with the above option and it's not resetting failcnt after 5 minutes, it means there is a bug in UBC code. Please file a detailed [[bug report]] to [http://bugzilla.openvz.org bugzilla.openvz.org]
  
== vzubc ==
+
== Bash script ==
 
 
{{Man|vzubc|8}} is a tool to show user beancounters in a decent human readable form. Its relative mode (option -r or --relative) is used to show the failcnt difference from the previous run. vzubc is available in vzctl package since vzctl-3.0.27.
 
 
 
== Alternative bash script ==
 
  
 
This script can show the failcount deltas for one or all containers since last reset, and reset the failcounts for one or all containers.
 
This script can show the failcount deltas for one or all containers since last reset, and reset the failcounts for one or all containers.
  
 
It uses only standard commands and programs that are usually included in all linux distro's:
 
It uses only standard commands and programs that are usually included in all linux distro's:
bash, cat, grep, awk, head, tail, printf
+
* bash
 +
* cat
 +
* grep
 +
* awk
 +
* head
 +
* tail
 +
* printf
  
 
=== Installation ===
 
=== Installation ===
Line 66: Line 70:
  
 
=== beanc source code ===
 
=== beanc source code ===
<div class="mw-collapsible mw-collapsed">
+
<source lang=bash>
Click a link to the right to view the code →
 
<source lang=bash class="mw-collapsible-content">
 
 
#!/bin/bash
 
#!/bin/bash
 
#####################################################################################################################
 
#####################################################################################################################
Line 478: Line 480:
 
esac
 
esac
 
</source>
 
</source>
</div>
+
 
 +
== Tool ==
 +
 
 +
See {{Bug|1298}}.
  
 
== External links ==
 
== External links ==
 
* {{Forum|361}}
 
* {{Forum|361}}
 
* {{Forum|497}}
 
* {{Forum|497}}
* http://sisyphus.ru/en/srpm/yabeda
 
  
 
[[Category:FAQ]]
 
[[Category:FAQ]]
 
[[Category:UBC]]
 
[[Category:UBC]]

Please note that all contributions to OpenVZ Virtuozzo Containers Wiki may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
If you are going to add external links to an article, read the External links policy first!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: