> On 23.08.2016, at 14:42, johnyjukya-at-sigaint.org > |qubes-mailing-list/Example Allow| <567v794...@sneakemail.com> wrote: > > I know I may be in the minority with an under-powered machine (4G), but I > thought I'd share some tips for getting more room for additional AppVM's > that worked well for me: > > I guess I should state that this really would "void your warrantee" and > you shouldn't hassle the Qubes folks with problems you occur in a system > with these changes. :) But it lets me do more with Qubes, so I thought > I'd share. > > Being tired the "insufficient memory" error when starting an AppVM, I > initially started on an experiment to make sys-net/sys-firewall > "headless," without an X server, using ssh to access these system VM's. > ("systemctl disable qubes-gui-agent.service" to stop the X server from > starting.) > > That took a lot of juggling, setting up local ssh config's in > /rw/config/ssh (linked from /etc/ssh), etc., and appropriate templates, > passwords/certificates, iptables for safety, and so on. Quite a pain to > set up, with potential security risks if not done correctly. > > It worked well for sys-firewall, got it working well with 100M, versus the > 300M it normally sucks up.
Hi John! You may also want to search the list for "Unikernel proxyVM". Depending on your firewalling needs, this may be a way to save another 70MB per proxyVM. Regards, Frank > > sys-net was a lot crankier, being a lot more "special" to dom0 with a > systemctl startup in dom0, hooks to the network manager in dom0, need to > access the ethernet device, and so forth. Really quite painful. > > In getting this working, I found that /usr/lib/qubes/qrexec-client was my > friend, allowing to run commands in the VM's when ssh wasn't working > properly or whatever. > > Which got me to thinking, if my main goal was to stop the GUI/X server, > one could simply do *that* from dom0 via qrexec-client on the existing > net/firewall VM's, without all the ssh configuration hassle, and creating > new net/firewall VM's. > > And with VM's having swap space by default, even killing the GUI isn't > really necessary. Reduce the start/max memory for the VM's should be > enough to keep the useful networking stuff running, while the generally > unused X server being swapped out within the VM. > > (Might be a little slower starting up, as things need to swap out, but > once the system settles and the net/firewall VM's just run networking > code, it's just as fast. It might also reduce the amount of memory > available for buffers/cache in these service VM's, but they're not file > intensive to start with, so that shouldn't be an issue, either.) > > Much simpler, doesn't require modifying or creating VM's, and achieves the > goal. > > I'm on a smoothly working system now, with sys-net and sys-firewall each > taking up 100M instead of 300M each, and sys-whonix (the gateway) taking > up 220M instead of the normal 600M-ish. > > So for my normally way of working, that's 420M used instead of 1200M, > saving 780M (60%!). That good-chunk-of-a-Gig is enough to fire up > another couple of work AppVM's over what I used to be able to, a > significant productivity boost for me. > > At the most simple, it involves setting the start/max memory in sys-net > and sys-firewall to 120M, and restarting, and you're good to go. > > Some handy commands (sys-firewall can be substituted for sys-net in any of > the commands of course): > > /usr/lib/qubes/qrexec-client -d sys-net 'root:free' > > In a standard running VM, checking the among of memory actually "Used", as > a reasonable maximum memory limit for the VM: > > You might want add 20M to that value for safety. > > /usr/lib/qubes/qrexec-client -d sys-net 'root:ps axl' > > To check out what's using real memory, under the RSS (resident set size) > column. > > /usr/lib/qubes/qrexec-client -d sys-net 'root:systemctl' > > To see what services are running. Stopping unneeded services is good way > to reduce the memory footprint. > > /usr/lib/qubes/qrexec-client -d sys-net 'root:systemctl stop > qubes-gui-agent.service' > > Stop the gui/X-server on a running VM. Note that the green Status button > in Qubes manager will turn yellow because of this, and you won't be able > to run windowed commands in that VM any more. Replace "stop" with "start" > to get it going again, if you need a Window for some reason. > > /usr/lib/qubes/qrexec-client -d sys-net 'root:systemctl disable > qubes-gui-agent.service' > > Make that disabling of the GUI persistent across VM restarts. > > As mentioned, this might not be necessary/useful since the server should > swap out if not used. > > xl mem-set sys-net 120 && xl mem-max sys-net 1200M > > Sets current/max memory to a running sys-net to 120M. I think Qubes > manager might override this at times, so you'll want to change it in the > manager as well as using the xl commands to make it happen immediately. > > Important: If you're going to fire up any Konsole/Terminals in > sys-net/sys-firewall/sys-whonix, or anything else with a Window, you're > going to swap that X-server back in, increasing memory demands, and things > might get slow/unsable/unusable. But for sys-net/sys-firewall/sys-whonix > that are generally untouched and quietly doing their netorking thing, it's > fine. > > Obviously, the same technique could be applied to any other user AppVM's, > based upon their needs, to keep them from sucking up resources they don't > necessarily need. > > Hope this helps someone be more productive, without causing any hassles! > > If you've got 32G, don't waste your time with this. But for a 4G system, > it makes it a lot more useful. > > And if you're going to post any system problems to the lists, please > change your settings back to the defaults and reboot, and verify the > problem still exists, before proceeding. The last thing I want to do is > create more grief for the great people behind Qubes. :) > > Cheers, > > JJ > > -- > You received this message because you are subscribed to the Google Groups > "qubes-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to qubes-users+unsubscr...@googlegroups.com. > To post to this group, send email to qubes-users@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/qubes-users/a39188607dadf36184b82b4593732cb3.webmail%40localhost. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/BCFFBD55-9504-4BB8-921A-04D1E35C522A%40schaeckermann.net. For more options, visit https://groups.google.com/d/optout.