virtual memory on windows - ram

I am developing a program which use huge ram size. Unfortunately there is no way to decrease it. In linux when ram is low I can generate a swap file and mount it to system that solve my problem but in windows how can I do that or is there any api(c/c++) that can use a temp file like a ram?

Related

How much RAM will be comfortably enough for Web Development in 2018?

I have old enough laptop. And decided to buy a new one.
Usually I use Chrome, Docker, Datagrip, Intellij, Slack etc..
Now I have only 8gb and it is really few.
I think that MB Pro 2018 (touch-bar) (i7, 16g RAM, 512g ssd) will be enough for my needs.
Or I should take 32g RAM?
Or I should not take MB at all ? (never used it before)
I have a i7/4 cores/8 threads/8GB PC which I still find comfortable to do development in different areas (Web Development/Embedded/Mobile/Qt5 on Virtualbox).
There is one key item that you did not mention which is a huge performance improver: switching from HDD to SSD.
My previous PC with similar caracteristics that broke down had a HDD inside and at some point I got tired of its slowness. I replaced the disk with an SSD and the slowness was gone. I've done the same on many other systems, including old ones (Windows XP, Windows 7, Windows 10, Linux, Pentium, Core i5, Core i7): all show significant improvements when switching to SSD.
Now when I buy a computer, I change the HDD into a SSD - it is worth the cost when using it professionnaly for development purposes.
The Web applications I develop are pretty "heavy". Of course my portable computer is about half as slow as the web application running on a server with higher clock speed, more memory (usefull for caching, ...). But I could surely tune my local server a bit more.
Of course, RAM will matter when you plan on running multiple virtual "computers" at the same time. I could clearly use more memory when running Android Studio, with one emulated android system running - running a Virtualbox instance with Ubuntu at the same time gets my computer in trouble.
And remember: it is better to choose a computer that allows you to upgrade RAM and disk(s). I always make sure that the computer can host a 2.5" SATA drive and that it is easily accessible.

How DAPLink make its virtual file system?

I am new to DAPLink. Just know that it could turn a cortex m0 chip into a mbed Interface, then we could program or debug thought it. But I found that the mbed Interface has about 8MB USB Disk. How does it work? As we known, a mbed Interface chip(such as 11u24) has only 8KB RAM and 64KB Flash.
It does not actually have 8MB of space on the disk, the virtual file system just tells the operating system that it is 8MB large. This variable is held in vfs_user.c.
Then the virtual file system hijacks writes to the device and instead routes them to the target MCU through the Debug Access Port. So there is no caching on the chip that runs DAPLink, nor is there flash required. The files that show up when you mount the drive - like mbed.htm - are baked into ROM.

Virtualization Options with a non SLAT CPU

I am working on a machine with an older intel CPU (core 2 duo 2.4 Ghz e6600) that doesn't have SLAT and doesn't support Hyper-V.
It is running Windows 8.1 (64 bit) with 4GBs of ram. What software options do I have if I wanted to run a virtual machine, in this case, another instance of Windows (ex. Win 7)?
Am I SOL? Will speed of VM be limited more by ram, cpu, or hard drive in this case?
Thanks,
i think your best option is VirtualBox form oracle, i use it becouse i have the same tipe of procesor, an work really fine for me, the only think you can only instala x86 OS, but anything else works fine.
some spec's for your virtual machines
Windows
Ram 1gb to 2gb, it is fine
procesor one core only
HDD 40gb it almos enough for you want todo (as developer i only use it for testing)
video dont use it unless you need it
linux/unix
Console only
ram 256MB to 512MB
procesor one core only
HDD 40gb it almos enough for you want todo
video is not need here
GUI mode
ram 512MB to 1gb(i recomend use 2gb if your plan to use Ubuntu)
procesor one core only
HDD 40gb it almos enough for you want todo
video dont use it unless you need it
hope help you

DotNetZip performance issue, but only on one specific server

I'm having a wierd performance problem with the DotNetZip library.
In the application (which runs under asp.net) i'm reading a set of files from the database and packs them on-the-fly into a zip file for the user to download.
Everything works fine on my development laptop. A zip file being about 10MB with default compression rate takes something around 5 seconds to finish. However, on the dev server at the customer, the same set of files takes around 1-2 minutes to compress. I've even experienced even longer times, up to several minutes. The CPU utilization is 100% when the zipping is running, but otherwise it stays around 0%, so it's not due to overload.
What's even more interesting is that on the production server, it takes something about 20 seconds to finish.
Where should I start looking?
Some hardware specs:
My Laptop
Development environment running on a virtualbox with 2 cores and 4GB RAM dedicated.
Core i5 M540 2,5GHz
8 GB RAM
Win7
Dev Server
According to properties dialog on My Computer (probably virtualized)
Intel Xeon 5160 3GHz
540MB RAM
Windows 2003 Server
Task Manager Reports Single Core
Production Server
According to properties dialog on My Computer (probably virtualized)
Xenon 5160 3GHz
512MB RAM
Windows 2003 Server
Task Manager Reports Dual Core
Update
The servers are running on a VMWare host. Found the VMWare icon hiding in the taskbar.
as mitch said, the virus scanner would probably be your best bet. that combined with the dev server being just a single core machine and the production server being a dual core (and probably without virus scanner) may explain a delay. what would also be valuable to know is the type of disk in those machines. if the production server and your laptop have SSDs and the dev server has a very old standard harddisk with low rpm, for example, that would also explain a delay. try getting a view on the I/O reads/writes for the zipfolder for the dev server and production server, you could use the SysInternals tools for that, and if you have a virus scanner or any other unexpected process running you're probably going to see a difference there. the SysInternals tools could be of value here in finding the culprit quickly.
UPDATE: because you commented the zip is created in-memory I'd like to add you can also use those tools to get a better understanding of what happens in memory. a delay of several minutes where you'd expect almost equal results because the dev server and production server are a lot alike has me thinking of the page file.. see if there are other processes on the dev server that have claimed a lot of memory. if there isn't enough left for the zip operation the dev server will start using the page file, which is very expensive.
The hardware seemed to be the problem here.
The customer's IT guys have now upgraded the server hardware on which the virtualized dev server runs and I now see compression times at about 6s for the same package size and number of files as on my local computer.
The specs now found in the My Computer properties window:
AMD Phenom II X6 1100T
3.83GHz 1,99 GB RAM

VMWare Player - swapping to disk more if more memory allocated

Windows XP as base OS. Laptop has 4GB RAM and 2*2.2GHz cores. About 3 year old laptop
Am using Windows7 in VMWare Player. If I allocate more than 1GB of RAM to the Win7 machine in the VMWare player settings it goes so slow, and is continually swapping to disk.
I've turned off all Win7 processor intensive stuff.
http://www.computingunleashed.com/speed-up-windows-7-ultimate-guide-to.html
http://www.computingunleashed.com/list-of-services-in-windows-7-that-can.html
The base OS only reports using aboiut 144MB of RAM to the player. Very weird.
I'm using 2 virtual disks: 20GB SCSI for c:\ and 25GB SCSI for data f:\
Problem: How to tweak Win7 VMware (ie VS2010, Sql2008R2) well on an older laptop. Or use something else?
The problem is that by default vmware player uses file as memory.
Read this for more info & fix
http://communities.vmware.com/thread/46122
If you want to achieve this for all your VMs, you may just add/append following two lines:
prefvmx.minVmMemPct = 100
mainMem.useNamedFile = "false"
... inside the following VMware-wide configuration file:
C:/ProgramData/VMware/VMware Workstation/config.ini (or sometimes settings.ini)
The first line sets the percentage of configured VM memory that should fit into the host memory and the second (as already shown in the prior answer) disables default file-based memory usage.
If you want to apply this to a specific VM only, in order to not alter general VMware configuration, adding the following line to the VM's *.vmx file may be an alternative:
hard-disk.hostBuffer = "disabled"