VirtualBox

Changeset 44336 in vbox for trunk/src/VBox/Installer/linux


Ignore:
Timestamp:
Jan 23, 2013 1:51:33 PM (12 years ago)
Author:
vboxsync
Message:

Frontends/VBoxBalloonCtrl: add logic to prevent deflating the balloon if there is not sufficient host memory free, add docs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/linux/vboxballoonctrl-service.sh

    r43579 r44336  
    11#!/bin/sh
    22#
    3 # VirtualBox balloon control daemon init script.
    4 #
    5 # Copyright (C) 2006-2012 Oracle Corporation
     3# VirtualBox watchdog daemon init script.
     4#
     5# Copyright (C) 2006-2013 Oracle Corporation
    66#
    77# This file is part of VirtualBox Open Source Edition (OSE), as
     
    1515
    1616# chkconfig: 35 35 65
    17 # description: VirtualBox balloon control daemon
     17# description: VirtualBox watchdog daemon
    1818#
    1919### BEGIN INIT INFO
     
    2323# Default-Start:  2 3 4 5
    2424# Default-Stop:   0 1 6
    25 # Description:    VirtualBox balloon control daemon
     25# Description:    VirtualBox watchdog daemon
    2626### END INIT INFO
    2727
     
    278278check_single_user() {
    279279    if [ -n "$2" ]; then
    280         fail_msg "VBOXBALLOONCTRL_USER must not contain multiple users!"
     280        fail_msg "VBOXWATCHDOG_USER must not contain multiple users!"
    281281        exit 1
    282282    fi
     
    285285start() {
    286286    if ! test -f $PIDFILE; then
    287         [ -z "$VBOXBALLOONCTRL_USER" ] && exit 0
    288         begin_msg "Starting VirtualBox balloon control service";
    289         check_single_user $VBOXBALLOONCTRL_USER
     287        [ -z "$VBOXWATCHDOG_USER" -a -z "$VBOXBALLOONCTRL_USER" ] && exit 0
     288        [ -z "$VBOXWATCHDOG_USER" ] && VBOXWATCHDOG_USER="$VBOXBALLOONCTRL_USER"
     289        begin_msg "Starting VirtualBox watchdog service";
     290        check_single_user $VBOXWATCHDOG_USER
    290291        vboxdrvrunning || {
    291292            fail_msg "VirtualBox kernel module not loaded!"
    292293            exit 0
    293294        }
     295        # Handle legacy parameters, do not add any further ones unless absolutely necessary.
     296        [ -z "$VBOXWATCHDOG_BALLOON_INTERVAL" -a -n "$VBOXBALLOONCTRL_INTERVAL" ]           && VBOXWATCHDOG_BALLOON_INTERVAL="$VBOXBALLOONCTRL_INTERVAL"
     297        [ -z "$VBOXWATCHDOG_BALLOON_INCREMENT" -a -n "$VBOXBALLOONCTRL_INCREMENT" ]         && VBOXWATCHDOG_BALLOON_INCREMENT="$VBOXBALLOONCTRL_INCREMENT"
     298        [ -z "$VBOXWATCHDOG_BALLOON_DECREMENT" -a -n "$VBOXBALLOONCTRL_DECREMENT" ]         && VBOXWATCHDOG_BALLOON_DECREMENT="$VBOXBALLOONCTRL_DECREMENT"
     299        [ -z "$VBOXWATCHDOG_BALLOON_LOWERLIMIT" -a -n "$VBOXBALLOONCTRL_LOWERLIMIT" ]       && VBOXWATCHDOG_BALLOON_LOWERLIMIT="$VBOXBALLOONCTRL_LOWERLIMIT"
     300        [ -z "$VBOXWATCHDOG_BALLOON_SAFETYMARGIN" -a -n "$VBOXBALLOONCTRL_SAFETYMARGIN" ]   && VBOXWATCHDOG_BALLOON_SAFETYMARGIN="$VBOXBALLOONCTRL_SAFETYMARGIN"
     301        [ -z "$VBOXWATCHDOG_ROTATE" -a -n "$VBOXBALLOONCTRL_ROTATE" ]           && VBOXWATCHDOG_ROTATE="$VBOXBALLOONCTRL_ROTATE"
     302        [ -z "$VBOXWATCHDOG_LOGSIZE" -a -n "$VBOXBALLOONCTRL_LOGSIZE" ]         && VBOXWATCHDOG_LOGSIZE="$VBOXBALLOONCTRL_LOGSIZE"
     303        [ -z "$VBOXWATCHDOG_LOGINTERVAL" -a -n "$VBOXBALLOONCTRL_LOGINTERVAL" ] && VBOXWATCHDOG_LOGINTERVAL="$VBOXBALLOONCTRL_LOGINTERVAL"
     304
    294305        PARAMS="--background"
    295         [ -n "$VBOXBALLOONCTRL_INTERVAL" ]      && PARAMS="$PARAMS --balloon-interval $VBOXBALLOONCTRL_INTERVAL"
    296         [ -n "$VBOXBALLOONCTRL_INCREMENT" ]     && PARAMS="$PARAMS --balloon-inc $VBOXBALLOONCTRL_INCREMENT"
    297         [ -n "$VBOXBALLOONCTRL_DECREMENT" ]     && PARAMS="$PARAMS --balloon-dec $VBOXBALLOONCTRL_DECREMENT"
    298         [ -n "$VBOXBALLOONCTRL_LOWERLIMIT" ]    && PARAMS="$PARAMS --balloon-lower-limit $VBOXBALLOONCTRL_LOWERLIMIT"
    299         [ -n "$VBOXBALLOONCTRL_ROTATE" ]        && PARAMS="$PARAMS -R $VBOXBALLOONCTRL_ROTATE"
    300         [ -n "$VBOXBALLOONCTRL_LOGSIZE" ]       && PARAMS="$PARAMS -S $VBOXBALLOONCTRL_LOGSIZE"
    301         [ -n "$VBOXBALLOONCTRL_LOGINTERVAL" ]   && PARAMS="$PARAMS -I $VBOXBALLOONCTRL_LOGINTERVAL"
     306        [ -n "$VBOXWATCHDOG_BALLOON_INTERVAL" ]     && PARAMS="$PARAMS --balloon-interval \"$VBOXWATCHDOG_BALLOON_INTERVAL\""
     307        [ -n "$VBOXWATCHDOG_BALLOON_INCREMENT" ]    && PARAMS="$PARAMS --balloon-inc \"$VBOXWATCHDOG_BALLOON_INCREMENT\""
     308        [ -n "$VBOXWATCHDOG_BALLOON_DECREMENT" ]    && PARAMS="$PARAMS --balloon-dec \"$VBOXWATCHDOG_BALLOON_DECREMENT\""
     309        [ -n "$VBOXWATCHDOG_BALLOON_LOWERLIMIT" ]   && PARAMS="$PARAMS --balloon-lower-limit \"$VBOXWATCHDOG_BALLOON_LOWERLIMIT\""
     310        [ -n "$VBOXWATCHDOG_BALLOON_SAFETYMARGIN" ] && PARAMS="$PARAMS --balloon-safety-margin \"$VBOXWATCHDOG_BALLOON_SAFETYMARGIN\""
     311        [ -n "$VBOXWATCHDOG_ROTATE" ]       && PARAMS="$PARAMS -R \"$VBOXWATCHDOG_ROTATE\""
     312        [ -n "$VBOXWATCHDOG_LOGSIZE" ]      && PARAMS="$PARAMS -S \"$VBOXWATCHDOG_LOGSIZE\""
     313        [ -n "$VBOXWATCHDOG_LOGINTERVAL" ]  && PARAMS="$PARAMS -I \"$VBOXWATCHDOG_LOGINTERVAL\""
    302314        # prevent inheriting this setting to VBoxSVC
    303315        unset VBOX_RELEASE_LOG_DEST
    304         start_daemon $VBOXBALLOONCTRL_USER $binary $PARAMS > /dev/null 2>&1
     316        start_daemon $VBOXWATCHDOG_USER $binary $PARAMS > /dev/null 2>&1
    305317        # ugly: wait until the final process has forked
    306318        sleep .1
     
    320332stop() {
    321333    if test -f $PIDFILE; then
    322         begin_msg "Stopping VirtualBox balloon control service";
     334        begin_msg "Stopping VirtualBox watchdog service";
    323335        killproc $binary
    324336        RETVAL=$?
     
    338350
    339351status() {
    340     echo -n "Checking for VBox balloon control service"
     352    echo -n "Checking for VBox watchdog service"
    341353    if [ -f $PIDFILE ]; then
    342354        echo " ...running"
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette