Changes

Jump to: navigation, search

Processes scope and visibility

1,656 bytes added, 09:44, 17 July 2006
created
This [[:Category:HOWTO|HOWTO] shows how OpenVZ [[hardware node]] administrator can see a processes belonging to the host system only, or to a particular [[VE]].

== Problem ==
From [[VE0]] one can see all the processes running on the system; that includes all the processes of all [[VE]]s and the processes of the [[host system]] itself. Sometimes you just want to see the processes from the host system only. Sometimes you just want to see the processes from a particular VE.

There are many ways to achieve it.

== Solutions ==

=== "Poor man's vzps in bash" ===
Use the following script by aistis, modified by kir.

First argument is VE ID (0 for the host system), all the remaining arguments are passed to <code>ps(1)</code> utility.

<pre>
#!/bin/bash
# Usage: ./ovzps VEID [ps flags ...]

function find_ve_pids(){
local pid
local myveid=$1
local vepids=

for pid in $ALLPIDS; do
[ -f /proc/$pid/status ] || continue
veid=`grep envID /proc/$pid/status | awk -F: '{print $2}'`
if [ ${veid} = ${myveid} ]; then
VEPIDS="$VEPIDS $pid"
fi
done
echo "$vepids"
}

ALLPIDS=`ps -A -o pid --no-headers`
VEPIDS=`find_ve_pids $1`
shift

if [ "${VEPIDS}" ]; then
ps $* -p "$VEPIDS"
else
exit 0
fi
</pre>

=== Use vzprocps tools ===
Take vzprocps tools from download.openvz.org/contrib/
It is usual ps/top with -E option allowing to filter output.
If given w/o VE number, then it simply adds VEID column to its output.

== See also ==
* [http://forum.openvz.org/index.php?t=msg&th=836 forum thread #836]

[[Category: HOWTO]]

Navigation menu