[fedora-virt] [PATCH] optionally send debug to /var/log/ksmtuned

Justin M. Forbes jmforbes at linuxtx.org
Tue Nov 24 18:52:51 UTC 2009


On Tue, Nov 24, 2009 at 04:31:34PM +0200, Dan Kenigsberg wrote:
> ---
>  ksmtuned      |   25 ++++++++++++++++---------
>  ksmtuned.conf |    5 +++++
>  2 files changed, 21 insertions(+), 9 deletions(-)
> 
> diff --git a/ksmtuned b/ksmtuned
> index 7da8b68..decf41d 100644
> --- a/ksmtuned
> +++ b/ksmtuned
> @@ -21,6 +21,13 @@ if [ -f /etc/ksmtuned.conf ]; then
>      . /etc/ksmtuned.conf
>  fi
>  
> +debug() {
> +    if [ -n "$DEBUG" ]; then
> +        s="`/bin/date`: $*"
> +        [ -n "$LOGFILE" ] && echo "$s" >> "$LOGFILE" || echo "$s"
> +    fi
> +}
> +
>  KSM_MONITOR_INTERVAL=${KSM_MONITOR_INTERVAL:-60}
>  KSM_NPAGES_BOOST=${KSM_NPAGES_BOOST:-300}
>  KSM_NPAGES_DECAY=${KSM_NPAGES_DECAY:--50}
> @@ -35,17 +42,17 @@ KSM_THRES_COEF=${KSM_THRES_COEF:-20}
>  KSM_THRES_CONST=${KSM_THRES_CONST:-2048}
>  
>  total=`awk '/^MemTotal:/ {print $2}' /proc/meminfo`
> -[ -n "$DEBUG" ] && echo total $total
> +debug total $total
>  
>  npages=0
>  sleep=$[KSM_SLEEP_MSEC * 16 * 1024 * 1024 / total]
>  [ $sleep -le 10 ] && sleep=10
> -[ -n "$DEBUG" ] && echo sleep $sleep
> +debug sleep $sleep
>  thres=$[total * KSM_THRES_COEF / 100]
>  if [ $KSM_THRES_CONST -gt $thres ]; then
>      thres=$KSM_THRES_CONST
>  fi
> -[ -n "$DEBUG" ] && echo thres $thres
> +debug thres $thres
>  
>  KSMCTL () {
>      case x$1 in
> @@ -89,22 +96,22 @@ adjust () {
>      local free committed
>      free=`free_memory`
>      committed=`committed_memory`
> -    [ -n "$DEBUG" ] && echo committed $committed free $free
> +    debug committed $committed free $free
>      if [ $[committed + thres] -lt $total -a $free -gt $thres ]; then
>          KSMCTL stop
> -        [ -n "$DEBUG" ] && echo "$[committed + thres] < $total and free > $thres, stop ksm"
> +        debug "$[committed + thres] < $total and free > $thres, stop ksm"
>          return 1
>      fi
> -    [ -n "$DEBUG" ] && echo "$[committed + thres] > $total, start ksm"
> +    debug "$[committed + thres] > $total, start ksm"
>      if [ $free -lt $thres ]; then
>          npages=`increase_npages $KSM_NPAGES_BOOST`
> -        [ -n "$DEBUG" ] && echo "$free < $thres, boost"
> +        debug "$free < $thres, boost"
>      else
>          npages=`increase_npages $KSM_NPAGES_DECAY`
> -        [ -n "$DEBUG" ] && echo "$free > $thres, decay"
> +        debug "$free > $thres, decay"
>      fi
>      KSMCTL start $npages $sleep
> -    [ -n "$DEBUG" ] && echo "KSMCTL start $npages $sleep"
> +    debug "KSMCTL start $npages $sleep"
>      return 0
>  }
>  
> diff --git a/ksmtuned.conf b/ksmtuned.conf
> index 87b9178..fc4518c 100644
> --- a/ksmtuned.conf
> +++ b/ksmtuned.conf
> @@ -14,3 +14,8 @@
>  
>  # KSM_THRES_COEF=20
>  # KSM_THRES_CONST=2048
> +
> +# uncomment the following if you want ksmtuned debug info
> +
> +# LOGFILE=/var/log/ksmtuned
> +# DEBUG=1
> -- 

Patch looks good, I will get it applied. I will also add a logrotate file
so that this log doesn't grow unrestrained.

Justin




More information about the virt mailing list