Editing
ProcFS
From Linix VServer
Jump to navigation
Jump to 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.
Anti-spam check. Do
not
fill this in!
Information about currently running contexts can be found inside the /proc/virtual and /proc/virtnet directory. All information provided there is read-only, i.e. it cannot be used to change any values like other entries in /proc may do. Because it usually is world-readable you do not have to gain root access to look at this information. Beside this information you can also control various debugging related settings using /proc/sys/vserver/debug if you have enabled debugging in your kernel configuration. '''Note:''' The examples and descriptions are based on the 2.1.1 kernel patch. If you're using a previous version some information may not be present and/or available with a slightly different name. == Generic information == Currently there is only one file with generic information about the vserver host, that is /proc/virtual/info: === info === <pre> # cat /proc/virtual/info VCIVersion: 0002:0002 VCISyscall: 236 VCIKernel: 03000016 </pre> ; VCIVersion : Current API version of the kernel ; VCISyscall : Syscall number of the vserver syscall ; VCIKernel : Bitmask of the CONFIG_VSERVER kernel configuration options Beside ''VCIKernel'' the information provided in this file can also be gathered using the ''vserver-info'' utility from util-vserver. <pre> # vserver-info Versions: Kernel: 2.6.17-2-vserver-amd64 VS-API: 0x00020002 util-vserver: 0.30.210; Sep 30 2006, 23:55:41 Features: CC: gcc, gcc (GCC) 4.1.2 20060928 (prerelease) (Debian 4.1.1-15) CXX: g++, g++ (GCC) 4.1.2 20060928 (prerelease) (Debian 4.1.1-15) CPPFLAGS: '' CFLAGS: '-Wall -g -O2 -std=c99 -Wall -pedantic -W -funit-at-a-time' CXXFLAGS: '-g -O2 -ansi -Wall -pedantic -W -fmessage-length=0 -funit-at-a-time' build/host: x86_64-pc-linux-gnu/x86_64-pc-linux-gnu Use dietlibc: yes Build C++ programs: yes Build C99 programs: yes Available APIs: compat,v11,fscompat,v13,net,oldproc,olduts ext2fs Source: e2fsprogs syscall(2) invocation: alternative vserver(2) syscall#: 236/glibc </pre> == Context specific information == === info === <pre> # cat /proc/virtual/<xid>/info ID: 1001 Info: 83c37000 Init: 0 </pre> ; ID : Context ID ; Info : Memory location of the vx_info structure ; Init : Real PID of the init process === status === This file contains general status information. <pre> # cat /proc/virtual/<xid>/status UseCnt: 38 Tasks: 16 Flags: 0000000002020010 BCaps: 00000000344c04ff CCaps: 0000000000000101 </pre> ; UseCnt : References to the vx_info struct ; Tasks : Number of processes (tasks) inside the context ; Flags : [[Capabilities and Flags]] ; BCaps : [[Capabilities and Flags]] ; CCaps : [[Capabilities and Flags]] === sched === This file contains information about the [[CPU Scheduler]]. <pre> # cat /proc/virtual/<xid>/sched FillRate: 1,1 Interval: 4,8 TokensMin: 15 TokensMax: 125 PrioBias: 0 VaVaVoom: 0 cpu 0: 0 0 0 0 0 R- 62 15 125 1/4 1/8 </pre> ; FillRate : Number of tokens filled into the bucket at each interval ; Interval : Number of jiffies between each fill interval ; TokensMin : Minimum number of tokens to be scheduled ; TokensMax : Maximum number of tokens in the bucket ; PrioBias : Priority bias ; VaVaVoom : The calculated priority bonus a guest gets ; cpu X : Ticks spent in user-space : Ticks spent in kernel-space : Ticks spent on hold : Token time ?? : Idle time ?? : On hold (H) or running (R) : Uses IDLE time (I) or not (-) : Current number of tokens : Minimum number of tokens to be scheduled : Maximum number of tokens in the bucket : Minimum number of tokens to be scheduled (IDLE time setting) : Maximum number of tokens in the bucket (IDLE time setting) === cacct === This file contains information about [[Context Accounting]], including socket accounting and slab allocator accounting. <pre> # cat /proc/virtual/<xid>/cacct Type recv #/bytes send #/bytes fail #/bytes UNSPEC: 0/0 0/0 0/0 UNIX: 0/0 0/0 0/0 INET: 0/0 0/0 0/0 INET6: 0/0 0/0 0/0 PACKET: 0/0 0/0 0/0 OTHER: 0/0 0/0 0/0 slab: 0 0 4294965416 0 page[0]: 0 0 0 0 0 0 0 0 page[1]: 0 0 0 0 0 0 0 0 page[2]: 0 0 0 0 0 0 0 0 page[3]: 0 0 0 0 0 0 0 0 page[4]: 0 0 0 0 0 0 0 0 </pre> === cvirt === This file contains information about virtualized data, including context uptime bias, utsname settings, thread information and load average. Note: some fields are moved in nsproxy file with vs2.3.x. <pre> # cat /proc/virtual/<xid>/cvirt BiasUptime: 49.73 SysName: Linux NodeName: XXXX.test.org Release: 2.6.11-rc5 Version: #12 Sun Feb 27 01:07:29 CET 2005 Machine: i686 DomainName: nr_threads: 16 nr_running: 0 nr_unintr: 0 nr_onhold: 0 load_updates: 14585 loadavg: 0.00 0.00 0.00 total_forks: 272 </pre> ; BiasUptime : Context uptime bias (System uptime - BiasUptime = Context uptime) ; SysName : Kernel name ; NodeName : Network node hostname ; Release : Kernel release ; Version : Kernel version ; Machine : Machine hardware name ; DomainName : Network node domainname ; nr_threads : Total number of threads ; nr_running : Number of running threads ; nr_unintr : Number of uninterruptible threads ; nr_onhold : Number of threads on hold ; load_updates : Total number of load average updates ; loadavg : Number of jobs in the run queue averaged over 1, 5, and 15 minutes ; total_forks : Total number of forks === nsproxy === Vs 2.3.x (experimental) only. <pre> NSProxy: ffff81000460d338 [ffff81007cca9bc0,ffff8100378d5800,ffff8100378e7600] Namespace: ffff81007cca9bc0 [#2] RootPath: / SysName: Linux NodeName: lenny-amd64 Release: 2.6.26-1-vserver-amd64 Version: #1 SMP Sat Jan 10 19:46:42 UTC 2009 Machine: x86_64 DomainName: (none) SEMS: 250 32000 32 128 0 MSG: 8192 16384 286 SHM: 33554432 2097152 4096 0 </pre> === limit === This file contains information about [[Resource Limits]], including [[Context Accounting]] (i.e these do not appear in cacct). <pre> # cat /proc/virtual/<xid>/limit Limit current min/max soft/hard hits PROC: 2 2/ 2 -1/ -1 0 VM: 4024 4024/ 4024 -1/ -1 0 VML: 0 0/ 0 -1/ -1 0 RSS: 50 50/ 50 -1/ -1 0 ANON: 33 33/ 33 -1/ -1 0 FILES: 19 19/ 19 -1/ -1 0 OFD: 5 5/ 5 -1/ -1 0 LOCKS: 0 0/ 0 -1/ -1 0 SOCK: 2 2/ 2 -1/ -1 0 MSGQ: 0 0/ 0 -1/ -1 0 SHM: 0 0/ 0 -1/ -1 0 SEMA: 0 0/ 0 -1/ -1 0 SEMS: 0 0/ 0 -1/ -1 0 DENT: 2315 2315/ 2315 -1/ -1 0 </pre> ; Limit : Limit name/identifier ; current : Current value ; min : Minimum value since the last reset ; max : Maximum value since the last reset ; soft : Soft limit ; hard : hard limit ; hits : Total amount of current reaching hard == Debugging Control == The /proc/sys/vserver/debug directory is only present if you have enabled CONFIG_VSERVER_DEBUG during kernel compilation. To enable debugging you can use a command similar to the following to enable debugging. Please see [[Kernel Debugging]] for more information. <pre> # echo 255 >/proc/sys/vserver/debug_switch </pre> [[Category:Theory]]
Summary:
Please note that all contributions to Linix VServer may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Linix VServer:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Page actions
Page
Discussion
Read
Edit
History
Page actions
Page
Discussion
More
Tools
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
About
Overview
Paper
News
Developers
Donations
Search
Getting Started
Downloads
FAQs
Documentation
Support
Participate
How to participate
Report a Bug
Communicate
Teams/Projects
Hall of Fame
Resources
Archives
Recent Wiki Changes
Pastebin
Related Projects
VServer Hosting
Happy VServer Users
Tools
What links here
Related changes
Special pages
Page information