virtual machine on netbook?

marbux marbux at gmail.com
Sun Feb 22 10:09:18 UTC 2009


On Sat, Feb 21, 2009 at 3:00 PM, Tim Chase <blinux.list at thechases.com> wrote:
>> I have a sylvania netbook with 1gb of ram 160gb hard drive 1.6ghz
>> processor.
>
> Running what OS?  Trying to run a virtual-machine on a WinXP
> machine while running things like anti-virus, anti-spyware,
> screen-reader, etc may be a bit much for such a machine.
> However, if you're running a stripped-down Linux on your
> Sylvania, this may be enough to run a modest VM on it.
>

I ran Kubuntu and Mepis as VMs atop XP with 1 GB DDR2 RAM, before I
switched to running the other two as guests atop Kubuntu. But with a
2.8 GHz Intel processor. I gave the VMs 380 MB RAM, using Virtual Box
and after some tweaking it worked very well, although I'm much happier
with Kubuntu managing memory available to WinXP than the other way
around.

At least with Virtual Box, you are not setting how much memory the
virtual machine can use, you're setting the amount of memory that
Virtual Box will lock on WinXP for exclusive use by the guest
operating system. But that is not a limit on the memory available to
the virtual machine; it is a minimum. Virtual Box will snag more
memory from the WinXP memory pool if needed and available, which can
vary from moment to moment depending on settings and what is running
on both the host and the guest.

(But note that even when running WinXP as a guest atop Linux rather
than as the host OS, it still needs to be kept optimized for
system-wide performance.)

I'll address only the use of Virtual Box here because it is the
virtual machine software I use. I chose Virtual Box after testing
other virtual machine software primarily because: [i] it is the most
user-friendly I found for creating virtual machines and installing
operating systems on it; [ii] it's powerful enough for my purposes;
and [iii] it is open source software, which gets it extra points on my
scorecard. However, I caveat that I am definitely not in the power
user class with Virtual Box. This is just what worked for me.

There are major factors other than the amount of minimum memory locked
by Virtual Box. other major factors as well. E.g., for a system that
gets heavy use, WinXP fragments the hard drive enough in a few hours
to noticeably slow performance. The size and location of the WinXP
swap file ("virtual memory" in WinXP parlance) can also affect
performance of the guest operating system. E.g., you get a lot less
hard disk read/write head thrashing if the swap file is located on a
separate physical drive  And WinXP's ability to swap lower priority or
inactive processes out of physical memory into virtual memory depends
to a large degree on how much virtual memory is available.

And of course malware and crapware on your system can dramatically
affect memory usage. I recently did some troubleshooting and repair
for a Vista Home user. A single piece of crapware had slowed the
system to a crawl (although it wasn't the only crapware/adware I found
and removed from the system). (I was jealous of their hardware; far
more powerful system than mine and they use it only for email and
browsing the web. But life is unjust. :-)

Entire books could be written about maximizing performance in WinXP
and on the guest OS. I am sighted, so am unsure of how accessible some
of the WinXP utilities I use are. But I'll make specific mention of
those that helped me keep WinXP optimized for running LInux atop
Virtual Box.

General optimizaton and start-up management:

Tune-up Utilities,
<http://www.tune-up.com/products/tuneup-utilities/>, $49.95. Very
competent set of diagnostic and optimization tools for WinXP or Vista.
Easy to use. Get your WinXP settings optimized for performance. Once
that's done, use the tool for managing what apps and processes are
loaded at start-up. The typical Windows setup quickly acquires a host
of apps that are launched at startup that don't need to be running all
the time.

E.g., application pre-loaders and stuff loaded only so its icon
appears in the task bar are seldom worth the memory hit that those few
seconds or navigation steps saved in launching the app are worth it.
With modest physical memory on the system, you'll lose any time saved
by most such processes and more incrementally as system performance
slows because of they are running.

The Tuneup utilities tool doesn't uninstall the software for the
startup entries you select not to run at start-up, it just disables
their ability to run on start-up. The entries are retained in the
utility so you can easily correct an altered start-up setting you
regret. Clearing out the start-up junk will typically free lots of
memory. But note that some very ill-mannered apps such as Acrobat
Reader (AcroRD32.exe) and OpenOffice.org (soffice.bin) restore their
pre-loader start-up entries each time they run. For those, the WinXP
Task Manager (three-finger salute dialog) can be used after using such
miscreant programs to kill the preloader's process.

Tuneup also has excellent tools for cleaning and defragging the
Registry, another problem that contributes to slowing system
performance,  as well as other very useful system tools.

Disk Defragging

Executive Diskeeper Pro, <http://www.diskeeper.com/>, $59.95. Quite
simply the best drive defragger for WinXP I've ever used. Highly
dependable. If you have a good, working uninterruptible power supply,
you can use the Set It and Forget It feature, which runs a small
process in the background, defragging the selected drives continuously
as needed. But I don't recommend using that particular feature without
a good, working UPS. If your system dies whilst defragging, data and
be lost and software corrupted.

Set the process priority for the background defragger to the lowest
processing priority --- IIRC, that's the default --- so it will get
out of the way when higher-priority processes need that extra little
bit of memory. Defragging can also be done manually, including
defragging the swap file. It's also the fastest WinXP/Vista defragger
I've encountered and other apps need not be shut down when using it.
With the drives defragged, everything runs faster including the memory
swapping to virtual memory. This does not affect the amount of memory
available, but dramatically boosts over-all system performance, which
affects the performance of the operating system running as a guest on
the virtual machine.

Managing process and application priorities

Prio, <http://www.prnwatch.com/prio.html>, freeware. In the WinXP Task
Manager, one may alter the processing priority of running processes
and apps but there is no option to save the priority setting so that
it will be the same the next time you boot. Prio adds an option to
Task Manager to save a priority setting for a running app or process.
Prio can also be used to manage services that launch at startup in the
Services dialog it adds to Task Manager. I often encounter crapware
and malware running as a service when troubleshooting people's
systems.

Changing a priority does not increase the over-all amount of memory
available on the system. But with Virtual Box assigned normal or
higher processing priority than stuff that can safely be swapped to
virtual memory when Virtual Box wants more memory, more memory becomes
available to Virtual Box when needed. You can actually get fair
performance from Virtual Box with locked memory set under 100 MB if
you carefully manage the priorities assigned to processes and apps in
WinXP.

Filtering processes in Task Manager by memory usage and I/O Reads
gives you fast and useful information on which processes are taxing
system resources.

My normal drill when I encounter signs of a process hogging memory is
to first sort the processes by memory usage and then by I/O reads. If
you don't recognize the name of a running executable file that's
hogging resources either of those resources, search for the file on
your system to determine whether it's a program that deserves the
priority it has assigned. When I can't find the referenced file, I use
Web search to track down the needed information. E.g., some files
don't exist on disk but are created by a program after it launches.
With Prio, you can also check programs running as services at WinXP
launch that may or not be not be running at the moment. Malware,
crapware, and app pre-loaders can be run in this manner without
displaying as a running process or application in Task Manager.

The processes and apps that are hogging resources at the moment are
those that deserve the highest priority for investigation. Generally
speaking, processes that perform system scans such as anti-virus
system-wide scanners and desktop search file indexers hog resources by
default and and can safely be given the lowest priority and save the
priority setting with the Prio add-on. On the other hand, an
anti-virus executable that automagically checks downloads needs normal
priority for system security reasons. I.e., you don't want to launch a
downloaded executable without it having been scanned. But note that
some WinXP anti-virus programs, e.g., Grisoft AVG, restore normal
priority to their system scanner every time your anti-virus signature
files are updated. For such issues, it's either install less evil
software or reset their priorities when an event occurs that causes
them to reset their priority.

It's rare to encounter a Win32 software installer that doesn't set the
installed program's executables to normal priority whether they need
that priority or not. So there's considerable ground to be gained for
the virtual machine by getting into process management. Every process
that has an assigned priority competing with or overriding the Virtual
Box priority setting sucks time slices from the memory available to
Virtual Box.

But ultimately you'll get better performance both on WinXP and the
guest OS if you investigate all running processes to the extent
necessary to determine whether the process can be safely assigned a
lower processing priority. Sometimes, one must experiment. However, I
generally leave WinXP services and processes alone, reasoning that
Microsoft has every incentive to properly balance their priorities for
over-all system performance.

Programs with resource bugs

Frequently checking memory usage and I/O Reads in Task Manager can
also help you spot programs with bugs that cause their consumption of
resources to expand unnecessarily. For example, Firefox 3 grows its
memory consumption more slowly than Firefox 2 but still has major
memory leaks. When you find such programs, you can either find
replacement software or close those apps and relaunch them often
enough to minimize their hogging of system resources that would
otherwise be available to Virtual Box.

>> How much ram does gnome need?
>
> I've run Gnome on a machine with only 128 megs of memory, but it
> was pretty sluggish.  It runs well on my Dell Mini-9 netbook with
> only 512 megs of memory.  So in theory, you could allot half your
> gig of memory to the VM image and be able to run Gnome tolerably.

Granted that I prefer the KDE Desktop, but keeping only half a GB of
RAM for WinXP will slow it considerably and your virtual machine is
running atop WinXP. If you slow down WinXP, you're also going to slow
the virtual machine. They are not completely isolated from each other.
I.e., Virtual Box installed on WinXP is a Windows program competing
for system resources beyond the memory it locks. With a single GB of
RAM, you have to find that sweet spot that best balances the host and
guest operating systems' needs. On my system, that was around 380 MB
locked memory for the guest Linux operating systems and optimization
of WinXP for performance.

When booting Linux on the virtual machine, I still encountered pauses
in the booting when I had either too many apps running on XP or a
single memory hog like Firefox when I hadn't relaunched it in awhile.
I'd get paused-because-could-not-lock-memory messages. But even then,
you need only resume the booting, on occasion several times, to
complete the booting process and achieve the memory lock. (But this is
usually a sign that you need to kill some apps or processes on the
WinXP side. Once the booting process is completed and memory locked,
then the VM is just another process competing with other Windows
processes for priority in memory beyond the minimum memory locked by
Virtual Box.

With the minimum locked memory set at 380 MB, I've never noticed any
slowdown in the virtualized Linux. But that might vary with Gnome. I
don't know. It might also vary if you're doing something really
resource-intensive on Linux. I don't crunch numbers for the Pentagon,
so to speak, so it wasn't an issue for me.

In the end, I decided that it didn't make a lot of sense to have the
least stable operating system as the host, so rebuilt the system with
Kubuntu as the host and WinXP Pro as the guest (and any other
distribution I feel like playing with).  Now it's WinXP that has the
380 MB memory lock and its over-all performance has increased,
apparently due to better and faster system resource management by
Linux.

With the prices for DDR-2 RAM these days, I could easily bump up to 4
GB RAM and stop paying so much attention to system resource
management. But I really do not need it and I like the discipline in
system management that 1 GB imposes. YMMV.

Best regards,

Paul

-- 
Universal Interoperability Council
<http:www.universal-interop-council.org>




More information about the Blinux-list mailing list