Some questions concerning FBWF

B

Benjamin Grund

I have a device running XPe on a flash based media (DOM). The device needs to
be able to run for weeks or even month without being shut down or being
rebootet. The device runs a special application that needs to store data in
two directories, further write access to the media is not necessary (except
of registry filter for domain integration).

I set up an image with FBWF for testing purposes. I used a pre-allocated
overlay with a size of 64 MB. After 2 days the overlay already has a size of
about 6 MB.
What will happen if the the maximum overlay size is reached? Would it be
better to use other FBWF settings for my purposes (the device has 512 MB
RAM)? If yes, which settings should I use?

Thanks in advance,
Benjamin
 
E

Ethan Chen

Hi Benjamin,

There will be a warning dialog popup to ask you reboot or clean FBWF catch
while you reach the maximum overlay size. If your target machine cannot
allow you to reboot system every few days, you need to create a cyclic
process to clean FBWF catch.

Regards,
Ethan
 
B

Benjamin Grund

How can I clean the cache without reboot? Most FBWFMGR commands require a
reboot and I cannot reboot the device.

Do you know how much overlay memory XPe uses per day? My application writes
data to write-through pathes only, but the memory usage of the overlay grows
from day to day even if my application is not running.

Regards,
Benjamin
 
G

Godzilla

I would be interested to hear how you can flush the overlay without
rebooting the device.

Have you seen that your protected partition loses roughly 100MB of
capacity when you have FBWF enabled?? My overlay size was set to 128MB
and my protected partition (C: in this case) loses 200MB when I have
FBWF enabled. The capacity went down from 800MB to 600MB... when I
turn FBWF off, the 200MB is regained... there were no documentation
regarding this and who knows what FBWF is doing behind the scene???

Also, when I turn FBWF off and observe what XP is doing to the memory
usage without pagefile, the memory usage creeps up, even without any
write filter. The only way to fix this is to reboot the machine.

This really makes me think XPE is not suited to run for a long time
without rebooting because of the things abovementioned. I hope someone
proves me wrong.
 
B

Benjamin Grund

Godzilla said:
Have you seen that your protected partition loses roughly 100MB of
capacity when you have FBWF enabled??

I cannot confirm that. I am using FBWF with the following settings:

Cache Type: Pre-allocated
Maximum Cache Size: nothing specified = default value 64 MB
Virtual size display mode: unchecked
Disable page-file support: checked
Disable System Restore: checked
Disable Background Disk Defragmentation: checked
Disable Low Disk Warning Notification: checked
Number of Protected Volumes: 1
Volume: C:

With these settings it does not matter if FBWF is turned on or not, free
disk space always stays the same.

Maybe you forgot to disable page-file support in your FBWF-configuration.

Regards,
Benjamin
 
K

KM

Benjamin,
How can I clean the cache without reboot? Most FBWFMGR commands require a
reboot and I cannot reboot the device.

You still need to reboot the device to clear the FBWF cache :-(
However, with the proper FBWF setup (exclusion, write-trhough list) it won't eat up much RAM.

Do you know how much overlay memory XPe uses per day? My application writes
data to write-through pathes only, but the memory usage of the overlay grows
from day to day even if my application is not running.

How about using FBWF API?

FbwfGetMemoryUsage: http://msdn2.microsoft.com/en-us/library/aa940903.aspx
fbwfmgr /overlaydetail

FbwfSetCacheThreshold: http://msdn2.microsoft.com/en-us/library/aa940913.aspx (to limit the cache size)
fbwfmgr /setthreshold [threshold]
 
B

Benjamin Grund

KM said:
However, with the proper FBWF setup (exclusion, write-trhough list) it won't eat up much RAM.

I set up an pre-allocated overlay of 64 MB and it seems the memory usage
inside the overlay memory grows from day to day even if no application is
running because XPe modifies a lot of system files while running.

Setting up exclusions for these files could solve that, but actually I want
to protect XPe settings from being modified.

Is there no possibility to exclude the system directory from logging?
 
B

Benjamin Grund

K

KM

Benjamin,

Unfortunately, there are still some system logs that XP keeps writing to even with a disk write filter enabled. For instance,
registry hive logs. These logs (and corresponding hives) get open and modified by the loader and early at kernel-load phase. At that
time the filter is not yet loaded and hence doesn't redirect disk writes to the overlay.

This is really bad fact for those who are using and booting XPe off flash media. Eventually you end up with boot messages like
system hive is damaged or similar. However, fixing that properly would require some significant changes in loader and kernel (only
simple fix I see is providing a way to disable those logs completely but the entire OS would still need to be fully tested). I doubt
there is going to be a reasonable effort done in this area for such embedded OS like XPe targeted for rather rapid development than
hard core embedded implementations. Good (and cheap!) alternative from Microsoft would be Windows CE that have been used
successfully with flash media for a long time.
 
B

Benjamin Grund

KM said:
This is really bad fact for those who are using and booting XPe off flash media.

That is really bad. I didn't know that XPe writes to the media even if a
write filter is enabled. I would say that is a really bad design error that
should be fixed as soon as possible because Microsoft promotes booting from
flash media as a feature. Therefore it should work properly.
Good (and cheap!) alternative from Microsoft would be Windows CE that have been used successfully with flash media for a long time.

The problem with Windows CE is that you possibly have to use special drivers
and that you have to customize your application. XPe is fully compatible to
Windows XP drivers and applications. That's the main reason why we are using
XPe and not Windows CE.

Regards,
Benjamin
 
R

Ralph A. Schmid, dk5ras

Godzilla said:
This really makes me think XPE is not suited to run for a long time
without rebooting because of the things abovementioned. I hope someone
proves me wrong.

Our device stores its data into a second flash drive without EWF; it
has proved to be able to run for a year without reboot.



Ralph.

http://www.dk5ras.de/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top