Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jun 2007 17:39:04 +0200
From:      Miroslav Lachman <000.fbsd@quip.cz>
To:        freebsd-jail@freebsd.org
Subject:   jtune reports 0M Memory Used
Message-ID:  <46852798.3070509@quip.cz>

next in thread | raw e-mail | index | archive | help
Hi,

I am testing cdjones_jail_soc2006.patch on FreeBSD 6.2-RELEASE, patch 
applied and GENERIC kernel, libc + jls, jail, jtune binaries recompiled 
/ reinstalled.

I have some problems / questions. My testing setup is bellow (FreeBSD 
running in Qemu on Windows XP)

notes:
host system hase name qemuspeed
jails are alpha, beta, gamma

!!! next content is very long !!!

root@qemuspeed ~/# jls
    JID  IP Address      Hostname                      Path
      3  172.16.16.4     gamma.xps.quip.test           /usr/jail/gamma
      2  172.16.16.3     beta.xps.quip.test            /usr/jail/beta
      1  172.16.16.2     alpha.xps.quip.test           /usr/jail/alpha


root@qemuspeed ~/# ./jtune_all.sh
    JID  Hostname            Memory Used / Limit  CPU Shares
      3  gamma.xps.quip.test         0 M / None   0
    JID  Hostname            Memory Used / Limit  CPU Shares
      2  beta.xps.quip.test          0 M / None   0
    JID  Hostname            Memory Used / Limit  CPU Shares
      1  alpha.xps.quip.test         0 M / None   0

## from top (load 3)

   PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
  1498 root        1 123    0  1680K  1172K RUN      0:54 32.21% sh
  1499 root        1 122    0  1680K  1172K RUN      0:52 32.04% sh
  1497 root        1 122    0  1680K  1172K RUN      0:57 32.03% sh

root@qemuspeed ~/# ./jtune_sysctls.sh
kern.sched.limit_jail_cpu: 0 -> 1
security.jail.limit_jail_memory: 0 -> 1
kern.sched.system_cpu_shares: 0 -> 10
security.jail.jail_pager_interval: 5 -> 5

## top is still same, endless loops in Jails are still running

root@qemuspeed ~/# ./jtune_tunes.sh
    JID  Hostname            Memory Used / Limit  CPU Shares
      1  alpha.xps.quip.test         0 M / 5 M    5
    JID  Hostname            Memory Used / Limit  CPU Shares
      2  beta.xps.quip.test          0 M / 15 M   15
    JID  Hostname            Memory Used / Limit  CPU Shares
      3  gamma.xps.quip.test         0 M / 20 M   20

## few minutes after aplying jtune settings - WCPU is still the same [it 
seems wrong]

   PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
  1497 root        1 170    0  1680K   844K RUN      5:17 32.62% sh
  1498 root        1 170    0  1680K  1172K RUN      5:16 31.54% sh
  1499 root        1 170    0  1680K  1172K RUN      5:17 30.71% sh

## retest with tcsh while (1) endless loop [it seems OK according to 
jtune settings]

   PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
  1368 root        1 129    0  3924K  2692K RUN      3:29 58.25% tcsh
  1359 root        1 170    0  3924K  2692K RUN      1:55 24.27% tcsh
  1350 root        1 170    0  3928K  1068K RUN      0:55 12.06% tcsh

root@qemuspeed ~/# ./jtune_all.sh
    JID  Hostname            Memory Used / Limit  CPU Shares
      3  gamma.xps.quip.test         0 M / 20 M   20
    JID  Hostname            Memory Used / Limit  CPU Shares
      2  beta.xps.quip.test          0 M / 15 M   15
    JID  Hostname            Memory Used / Limit  CPU Shares
      1  alpha.xps.quip.test         0 M / 5 M    5

## Why jtune -j JID -i shows Memory Used 0M if the process in Jail uses 
2M5 (reported by top)

root@qemuspeed ~/# /etc/rc.d/jail stop alpha
Stopping jails: alpha.xps.quip.test.

## ^^^ takes about 1 minute to stop busy jail alpha

root@qemuspeed ~/# jls
    JID  IP Address      Hostname                      Path
      3  172.16.16.4     gamma.xps.quip.test           /usr/jail/gamma
      2  172.16.16.3     beta.xps.quip.test            /usr/jail/beta
root@qemuspeed ~/# ./jtune_all.sh
    JID  Hostname            Memory Used / Limit  CPU Shares
      3  gamma.xps.quip.test         0 M / 20 M   20
    JID  Hostname            Memory Used / Limit  CPU Shares
      2  beta.xps.quip.test          0 M / 15 M   15

## try to start Jail again with new jtune parameters:

jail -M 5 -S 5 /usr/jail/alpha alpha.xps.quip.test 172.16.16.2 /bin/sh 
/etc/rc

## it takes more than 2 minutes to start new jail [host system is too 
busy by other 2 jails running endless loop]

root@qemuspeed ~/# ./jtune_all.sh
    JID  Hostname            Memory Used / Limit  CPU Shares
      4  alpha.xps.quip.test         0 M / 5 M    5
    JID  Hostname            Memory Used / Limit  CPU Shares
      3  gamma.xps.quip.test         0 M / 20 M   20
    JID  Hostname            Memory Used / Limit  CPU Shares
      2  beta.xps.quip.test          0 M / 15 M   15

## top after few minutes runnig new jail [seems OK]

   PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
  1368 root        1 170    0  3924K  2692K RUN     19:59 51.76% tcsh
  1359 root        1 129    0  3924K  2456K RUN     11:04 34.03% tcsh
  2194 root        1 170    0  3788K  1936K RUN      0:18  9.26% tcsh

## now some Mem limit testing

## run dd command in each jail

dd if=/dev/zero of=/dev/null bs=16m

## top after few minutes

   PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
  2607 root        1 170    0 34052K 16688K RUN      5:42 43.64% dd
  2606 root        1 132    0 34052K 16572K RUN      4:10 36.35% dd
  2605 root        1 170    0 34052K 16736K RUN      0:56 12.85% dd

## ^^^ SIZE is 34MB and RES is 16MB even if jtune setting is 5MB for 
jail aplha and jtune is still reporting 0MB usage:

root@qemuspeed ~/# ./jtune_all.sh
    JID  Hostname            Memory Used / Limit  CPU Shares
      5  alpha.xps.quip.test         0 M / 5 M    5
    JID  Hostname            Memory Used / Limit  CPU Shares
      3  gamma.xps.quip.test         0 M / 20 M   20
    JID  Hostname            Memory Used / Limit  CPU Shares
      2  beta.xps.quip.test          0 M / 15 M   15


So am I doing something wrong?
Is there any useful tutorial / howto / example of jtune usage and useful 
values?
Why sh loops shows same WCPU for each jail (not corresponding to jtune 
values) but tcsh loops are correct?
Are there somebody with some success stories with this patch  / good 
knowlendge to explain some details about my examples?


content of my "shortcut scripts":

root@qemuspeed ~/# cat jtune_all.sh
#!/bin/sh

jails=`jls | awk '$1 ~ /[0-9]+/ { print $1 }'`

for jid in $jails
do
	jtune -j $jid -i
done

root@qemuspeed ~/# cat jtune_sysctls.sh
#!/bin/sh

sysctl kern.sched.limit_jail_cpu=1
sysctl security.jail.limit_jail_memory=1
sysctl kern.sched.system_cpu_shares=10
sysctl security.jail.jail_pager_interval=5

root@qemuspeed ~/# cat jtune_tunes.sh
#!/bin/sh

jtune -j 1 -m 5 -s 5
jtune -j 2 -m 15 -s 15
jtune -j 3 -m 20 -s 20

jtune -j 1 -i
jtune -j 2 -i
jtune -j 3 -i


root@alpha ~/# cat while.sh
#!/bin/sh

while [ 1 ]
do
	# nothing
done

## or same loop in tcsh shell as
while (1)
end


I know that this loop is not ideal for CPU usage testing but...

Miroslav Lachman




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46852798.3070509>