successful 15.7.2 i386 nano Image installed on Alix 256MB

Started by jstrebel, July 14, 2015, 03:11:38 PM

Previous topic - Next topic
Hi,
may be this interesting for you.
Installed 15.7
upgraded via seral console to 15.7.2
(followed the instruction of Franco about disable and enable the RAM disk)

I have not made any performance test. The fist impression is that the reaction of the OPNsense screens seem to be slow.
Load average after 2 hours and playing with the WEBinterface
load average: 0.65, 0.71, 0.66

Jakob

root@OPNs-tst:~ # df -h
Filesystem            Size    Used   Avail Capacity  Mounted on
/dev/ufs/OPNsense0    936M    637M    224M    74%    /
devfs                 1.0K    1.0K      0B   100%    /dev
tmpfs                  73M     48K     73M     0%    /tmp
tmpfs                  88M     14M     73M    16%    /var
devfs                 1.0K    1.0K      0B   100%    /var/dhcpd/dev

root@OPNs-tst:~ # ps xauww
USER     PID  %CPU %MEM   VSZ   RSS TT  STAT STARTED      TIME COMMAND
root      11 100.0  0.0     0     8  -  RL   12:50PM 102:04.34 [idle]
root       0   0.0  0.0     0    80  -  DLs  12:50PM   0:55.20 [kernel]
root       1   0.0  0.2  9048   572  -  ILs  12:50PM   0:00.04 /sbin/init --
root       2   0.0  0.0     0     8  -  DL   12:50PM   0:00.00 [crypto]
root       3   0.0  0.0     0     8  -  DL   12:50PM   0:00.00 [crypto returns]
root       4   0.0  0.0     0    16  -  DL   12:50PM   0:00.12 [cam]
root       5   0.0  0.0     0     8  -  DL   12:50PM   0:04.78 [pf purge]
root       6   0.0  0.0     0     8  -  DL   12:50PM   0:00.00 [sctp_iterator]
root       7   0.0  0.0     0     8  -  DL   12:50PM   0:00.36 [pagedaemon]
root       8   0.0  0.0     0     8  -  DL   12:50PM   0:00.00 [vmdaemon]
root       9   0.0  0.0     0     8  -  DL   12:50PM   0:00.02 [idlepoll]
root      10   0.0  0.0     0     8  -  DL   12:50PM   0:00.00 [audit]
root      12   0.0  0.0     0    96  -  WL   12:50PM   0:11.28 [intr]
root      13   0.0  0.0     0     8  -  DL   12:50PM   0:00.00 [ng_queue]
root      14   0.0  0.0     0    24  -  DL   12:50PM   0:00.07 [geom]
root      15   0.0  0.0     0     8  -  DL   12:50PM   0:03.39 [rand_harvestq]
root      16   0.0  0.0     0    64  -  DL   12:50PM   0:00.19 [usb]
root      17   0.0  0.0     0     8  -  DL   12:50PM   0:00.00 [pagezero]
root      18   0.0  0.0     0    16  -  DL   12:50PM   0:00.22 [bufdaemon]
root      19   0.0  0.0     0     8  -  DL   12:50PM   0:00.27 [syncer]
root      20   0.0  0.0     0     8  -  DL   12:50PM   0:00.06 [vnlru]
root     187   0.0  5.8 23720 13340  -  Is   12:50PM   0:10.80 /usr/local/bin/python2.7 /usr/local/opnsense/service/configd.py
root     193   0.0  1.5  8976  3368  -  Is   12:50PM   0:00.02 /sbin/devd
root    6212   0.0  0.8 10140  1892  -  Ss   12:51PM   0:00.76 /usr/local/sbin/syslogd -s -c -c -l /var/dhcpd/var/run/log -P /var/run/syslog.pid -f /var/etc/syslog.conf
root    8016   0.0  1.8 12696  4092  -  Is   12:52PM   0:00.00 /usr/local/sbin/sshd
root   14422   0.0  0.8 10084  1816  -  Is   12:53PM   0:00.07 /usr/sbin/cron -s
root   15876   0.0  0.8 10160  1836  -  Is   12:52PM   0:00.01 dhclient: vr1 [priv] (dhclient)
_dhcp  21585   0.0  0.8 10160  1912  -  Is   12:52PM   0:00.01 dhclient: vr1 (dhclient)
root   28939   0.0  0.8 10200  1880  -  Ss   12:52PM   0:01.54 /usr/local/sbin/filterlog -i pflog0 -p /var/run/filterlog.pid
root   38498   0.0  0.8 10136  1736  -  Is   12:52PM   0:00.00 /usr/sbin/inetd -wW -R 0 -a 127.0.0.1 /var/etc/inetd.conf
root   39040   0.0  0.7  5832  1512  -  I     2:42PM   0:00.00 sleep 60
root   51805   0.0  2.2 12976  5092  -  S    12:52PM   0:01.58 /usr/local/sbin/lighttpd -f /var/etc/lighty-webConfigurator.conf
root   51845   0.0  0.7  9924  1548  -  Is   12:53PM   0:00.00 minicron 240 /var/run/ping_hosts.pid /usr/local/sbin/ping_hosts.sh
root   52062   0.0  6.4 30648 14584  -  Is   12:52PM   0:00.29 /usr/local/bin/php-cgi
root   52201   0.0  0.7  9924  1560  -  I    12:53PM   0:00.01 minicron: helper /usr/local/sbin/ping_hosts.sh  (minicron)
root   52236   0.0  0.7  9924  1548  -  Is   12:53PM   0:00.00 minicron 3600 /var/run/expire_accounts.pid /usr/local/etc/rc.expireaccounts
root   52733   0.0  0.7  9924  1556  -  I    12:53PM   0:00.00 minicron: helper /usr/local/etc/rc.expireaccounts  (minicron)
root   52875   0.0  0.7  9924  1548  -  Is   12:53PM   0:00.00 minicron 86400 /var/run/update_alias_url_data.pid /usr/local/etc/rc.update_alias_url_data
root   53334   0.0  0.7  9924  1556  -  I    12:53PM   0:00.00 minicron: helper /usr/local/etc/rc.update_alias_url_data  (minicron)
root   53336   0.0  6.3 30648 14360  -  Is   12:52PM   0:00.27 /usr/local/bin/php-cgi
nobody 54968   0.0  1.5 10988  3332  -  I    12:52PM   0:00.05 /usr/local/sbin/dnsmasq --all-servers --rebind-localhost-ok --stop-dns-rebind --dns-forward-max=5000 --cache-size=10000 --local-ttl=1
root   57834   0.0  6.4 30648 14584  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   58344   0.0  6.3 30648 14360  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   60052   0.0  0.7 10036  1700  -  I    12:53PM   0:00.02 /usr/libexec/getty Pc ttyv0
root   60273   0.0  0.7 10036  1700  -  I    12:53PM   0:00.02 /usr/libexec/getty Pc ttyv1
root   60506   0.0  0.7 10036  1700  -  I    12:53PM   0:00.02 /usr/libexec/getty Pc ttyv2
root   60775   0.0  0.7 10036  1700  -  I    12:53PM   0:00.02 /usr/libexec/getty Pc ttyv3
root   60945   0.0  0.7 10036  1700  -  I    12:53PM   0:00.02 /usr/libexec/getty Pc ttyv4
root   61002   0.0  0.7 10036  1700  -  I    12:53PM   0:00.02 /usr/libexec/getty Pc ttyv5
root   61332   0.0  0.7 10036  1700  -  I    12:53PM   0:00.02 /usr/libexec/getty Pc ttyv6
root   61437   0.0  0.7 10036  1700  -  I    12:53PM   0:00.02 /usr/libexec/getty Pc ttyv7
dhcpd  61645   0.0  4.0 16224  9224  -  Is   12:52PM   0:00.01 /usr/local/sbin/dhcpd -user dhcpd -group dhcpd -chroot /var/dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid vr0 vr2
root   62055   0.0  0.8 10212  1760  -  Is   12:53PM   0:00.02 /usr/local/sbin/sshlockout_pf 15
root   63275   0.0  0.8 10020  1812  -  S    12:52PM   0:00.80 /usr/local/sbin/radvd -p /var/run/radvd.pid -C /var/etc/radvd.conf -m syslog
root   85982   0.0  1.9 12960  4404  -  S    12:52PM   0:00.24 /usr/local/sbin/lighttpd -f /var/etc/lighty-test-CaptivePortal.conf
root   86350   0.0  6.9 30648 15684  -  Is   12:52PM   0:00.29 /usr/local/bin/php-cgi
root   86619   0.0  0.7  9924  1540  -  Is   12:52PM   0:00.00 /usr/local/bin/minicron 60 /var/run/cp_prunedb_test.pid /usr/local/etc/rc.prunecaptiveportal test
root   86719   0.0  0.7  9924  1552  -  I    12:52PM   0:00.03 minicron: helper /usr/local/etc/rc.prunecaptiveportal test (minicron)
root   87662   0.0  6.9 30648 15684  -  Is   12:52PM   0:00.29 /usr/local/bin/php-cgi
root   87848   0.0  6.9 30648 15684  -  Is   12:52PM   0:00.29 /usr/local/bin/php-cgi
root   88086   0.0  6.9 30648 15684  -  Is   12:52PM   0:00.29 /usr/local/bin/php-cgi
root   88354   0.0  6.9 30648 15684  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   88480   0.0  6.9 30648 15684  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   88757   0.0  6.9 30648 15684  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   88937   0.0  6.9 30648 15684  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   89208   0.0  6.9 30648 15684  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   89282   0.0  6.9 30648 15684  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   89523   0.0  6.9 30648 15684  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   89540   0.0  6.9 30648 15684  -  I    12:52PM   0:00.00 /usr/local/bin/php-cgi
root   90318   0.0  5.7 12924 12952  -  Ss   12:52PM   0:01.04 /usr/local/sbin/ntpd -g -c /var/etc/ntpd.conf -p /var/run/ntpd.pid
root   97229   0.0  0.8 10432  1928  -  Is   12:53PM   0:02.63 /bin/sh /var/db/rrd/updaterrd.sh
root   39555   0.0  0.8 10176  1868 u0  R+    2:42PM   0:00.01 ps xauww
root   61738   0.0  1.0 10424  2184 u0  Is   12:53PM   0:00.21 login [pam] (login)
root   62593   0.0  0.8 10432  1912 u0  I     1:25PM   0:00.02 /bin/sh /usr/local/etc/rc.initial
root   63127   0.0  1.3 10796  2884 u0  S     1:25PM   0:00.07 /bin/csh

root@OPNs-tst:~ # top
last pid: 39887;  load averages:  0.72,  0.70,  0.60 up 0+01:52:3314:42:55
54 processes:  1 running, 53 sleeping
CPU:     % user,     % nice,     % system,     % interrupt,     % idle
Mem: 9516K Active, 93M Inact, 39M Wired, 12M Buf, 77M Free
Swap:

  PID USERNAME    THR PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
  187 root          1  20    0 23720K 13340K accept   0:11   0.00% python2.7
97229 root          1  52    0 10432K  1928K wait     0:03   0.00% sh
51805 root          1  20    0 12976K  5092K kqread   0:02   0.00% lighttpd
28939 root          1  20    0 10200K  1880K bpf      0:02   0.00% filterlog
90318 root          1  20    0 12924K 12952K select   0:01   0.00% ntpd
63275 root          1  20    0 10020K  1812K select   0:01   0.00% radvd
6212 root          1  20    0 10140K  1892K select   0:01   0.00% syslogd
86350 root          1  52    0 30648K 15684K wait     0:00   0.00% php-cgi
87662 root          1  52    0 30648K 15684K wait     0:00   0.00% php-cgi
88086 root          1  52    0 30648K 15684K wait     0:00   0.00% php-cgi
87848 root          1  52    0 30648K 15684K wait     0:00   0.00% php-cgi
52062 root          1  52    0 30648K 14584K wait     0:00   0.00% php-cgi
53336 root          1  52    0 30648K 14360K wait     0:00   0.00% php-cgi
85982 root          1  20    0 12960K  4404K kqread   0:00   0.00% lighttpd
61738 root          1  21    0 10424K  2184K wait     0:00   0.00% login
63127 root          1  20    0 10796K  2884K pause    0:00   0.00% csh
14422 root          1  20    0 10084K  1816K nanslp   0:00   0.00% cron
54968 nobody        1  20    0 10988K  3332K select   0:00   0.00% dnsmasq 0.72,  0.70,  0.60 up 0+01:52:3514:42:57
0.0 0.0 0.5 0.599.0608

Hi Jakob,

thanks for this. 256 looks like a doable amount. We've had trouble with 128 MB installations and OOM kills, but with 77 MB free this looks like a stable setup. Does the sluggishness also affect networking or only GUI responsiveness? It could well be the CPU not being powerful enough to run the PHP code.


Cheers,
Franco

PS: I still fear that fetching updates may fail sooner or later. There is no easy way out of this without RAM or providing a larger NanoBSD image (the current one is 1GB, but maybe it should be 2GB per slice).

Franco,
if I run top on the serial console and do some changes on the GUI I see that python is creating workload.
I feel it is important to keep a eye on, how opnsense is running on ALIX. Do you have some hints how I could find possible resources "hogs"
Jakob

Python wraps around the low level scripts as an intermediary for PHP. Sometimes it executes unix commands, sometimes shell script, sometimes even PHP scripts. It's a bit tricky to track a Python subprocess as the language does not have an optimal threading model.

One could e.g. measure script runtime vs. Python overhead by doing:

# /usr/bin/time -h configctl service reload all

vs.

# /usr/bin/time -h /usr/local/etc/rc.reload_all

Franco:
This is on ALIX:
        0.31s real              0.24s user              0.06s sys
root@OPNs-tst:~ # /usr/bin//time -h configctl service reload all

        1m6.07s real            0.22s user              0.07s sys
root@OPNs-tst:~ # /usr/bin//time -h /usr/local/etc/rc.reload_all
        1m9.11s real            7.77s user              4.87s sys
       

And this is on APU:       
        root@OPNsense:~ # /usr/bin/time -h configctl service reload all

   1m41.24s real      0.08s user      0.02s sys
root@OPNsense:~ # /usr/bin/time -h /usr/local/etc/rc.reload_all
   1m13.30s real      2.33s user      2.62s sys

Here are mines (on alix 2d3) :

root@alix:~ #  /usr/bin/time -h configctl service reload all
OK


        1m0.85s real            0.25s user              0.05s sys
root@alix:~ #  /usr/bin/time -h /usr/local/etc/rc.reload_all
        1m2.96s real            4.47s user              4.20s sys