Difference between revisions of "Vserver administration"
m |
m (→GrSec) |
||
Line 39: | Line 39: | ||
===GrSec=== |
===GrSec=== |
||
* http://people.linux-vserver.org/~harry/_README_ |
* http://people.linux-vserver.org/~harry/_README_ |
||
+ | ===Iptables Proxy=== |
||
+ | * http://www.virtuaserver.com.br/forum/viewtopic.php?t=130 |
Revision as of 09:38, 16 February 2007
Errors
In some situations my CPU was burning like hell for days.
This was the vcontext/login process when using the command "vserver XX enter".
If it happens that the process is disconnected from its terminal it eats all the CPU :-(
I could reproduce the problem as follow:
- ssh to the server as normal user
- sudo su -
- vserver XX enter
- from another term, kill -9 one of the 2 su processes ("su -" or "-su")
- quit the current terminal
Now from another terminal you can see that
vps ax|grep " login"
shows a "login" process not attached to any tty (cf the "?") and using top you see it's running 100% cpu.
Actually nature of this process is a bit strange because the real process is called vcontext as seen by top, pgrep and as you can see in /proc/XXX/status but its command line was overwritten with "login\0\0\0\0\0\0\0\0\0\0\0..." and commands like vps or pgrep -f show you this name "login" as you can see in /proc/XXX/cmdline.
So I wrote a script and installed it in a cron to kill any such dandling process:
pids=$(/usr/sbin/vps axc|\ egrep ' ? +[RS] +[1-9][0-9]*:[0-9]+ +vcontext'|\ sed 's/^ *\([0-9]\+\) .*$/\1/') [ "$pids" != "" ] && \ echo "Killing dandling login" && \ kill $pids
And /etc/cron.d/watch-vcontext:
MAILTO=root */5 * * * * root /home/vservers/tools/kill-vcontext
This also shows something weird: processes in vservers don't appear with ps ax, ok, they appear with vps ax.
Now if I want to kill one of them from the host:
vkill 29825 vkill: vc_ctx_kill(): No such process chcontext --ctx 1 kill 29825 <no error but nothing happen neither> kill 29825 <works!!>