Delete extracted files on exit

Issues related to Enigma Virtual Box
Post Reply
martinhou
Posts: 2
Joined: Wed Apr 24, 2013 1:05 pm

Delete extracted files on exit

Post by martinhou » Wed Apr 24, 2013 1:30 pm

Hi,

I'm using Enigma Virtual Box 6.60 Build 20130402 to package a Qt application. Due to the file virtualization, the application is using 124 MB in memory (instead of 44 MB unpackaged). To avoid this problem, I tried to mark all files to be written on disk if not present. I have 2 different questions:

- Is the file virtualization able to detect outdated files and overwrite them?
- When I choose to delete extracted files on exit, most of (Qt) DLL remain. I suspect that these DLL are not closed correctly by the Qt application, and the file virtualization is not able to delete them.

Thanks for you help!

Enigma
Site Admin
Posts: 2516
Joined: Wed Aug 20, 2008 2:24 pm

Re: Delete extracted files on exit

Post by Enigma » Wed Apr 24, 2013 2:14 pm

Hi martinhou,

Latest versions of EVB had been optimized enough, so it's strange to have so high difference in memory usage.
Try to add file by file to virtualization to find what file exactly causes much memory usage. Anyway, 128 MB of memory is not so critical value.

Maybe try to disable or enable file compression? Or switch features on Options panel?
martinhou wrote:- Is the file virtualization able to detect outdated files and overwrite them?
No, it checks only if the file exists or no.
martinhou wrote: - When I choose to delete extracted files on exit, most of (Qt) DLL remain. I suspect that these DLL are not closed correctly by the Qt application, and the file virtualization is not able to delete them.
Yes, that's correct. QT does not even attempt to close these dll files, so they can't be deleted on exit.

martinhou
Posts: 2
Joined: Wed Apr 24, 2013 1:05 pm

Re: Delete extracted files on exit

Post by martinhou » Thu Apr 25, 2013 9:18 am

The Qt application (50 KB + 76 MB of Qt DLL) is a customized WebKit-based browser designed to run on Citrix servers by hundreds of people at (almost) the same time. I found Virtual Box very useful because deploying on these servers is a real pain. Memory usage is quite critical in this kind of environment.

- File virtualization + file compression = 30 MB on disk, 124 MB in memory.
- File virtualization + no file compression = 77 MB on disk, 119 MB in memory.
- No file virtualization (files written on disk if not present) = 30 MB on disk (+ 76 MB of extracted files, not "deletable" and not "updatable"), 44 MB in memory.

The Qt application is calling the Windows function "SetWorkingSetSize" to purge all unused objects, but it can only happen once the application is fully loaded. I know it isn't a very efficient way to work, but memory is a very valuable resource in my case.

I'm open to suggestions!

Thanks for you help.

Post Reply