Re: Non contiguous Virtual Memory
From: Ivan Brugiolo [MSFT] (ivanbrug_at_online.microsoft.com)
Date: 12/02/04
- Next message: amosgcs: "Calling from a dll a function written in a MFC application"
- Previous message: Slobodan Brcin \(eMVP\): "Re: Disassembler question"
- In reply to: pawan: "Re: Non contiguous Virtual Memory"
- Next in thread: pawan: "Re: Non contiguous Virtual Memory"
- Reply: pawan: "Re: Non contiguous Virtual Memory"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 2 Dec 2004 00:38:53 -0800
If you can get a view of, let's say, 512Megs in each process,
then, in at most 8 Map-View operation, you can map 4 Gig of a shared
section.
Given the fact that most of the operation on the shared memory will be
local,
I would not expect that the move-the-mapping operation to be such a
performanve killer.
There is no need to attach or detach from the shared memory.
You will just slide the view over the same section.
Dlls are loaded at their preferred address, that can be changed with the
rebase.exe tool.
However, certain system dlls, (ntdll.dll) must be loaded at the same address
in each and every process, so, even rebasing will not help much.
-- This posting is provided "AS IS" with no warranties, and confers no rights. Use of any included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm "pawan" <pawan@discussions.microsoft.com> wrote in message news:B578935D-FEB5-4D5B-9F18-CD59EBBE17C5@microsoft.com... > Actually a number of process's are going to attach to this memory and share > the information (do some modifications or just access the data). The > Question is how the process which wants to attach to this memory will come to > know which part of the section to map in its memory? As tracking the > information of every bit data is very tedious job. And also it will impact > the performance as each time the process wants some information exists in > shared memory it need to attach, get the information and again detach from > the shared memory. > I also tried with the /3GB switch, but it did not help me , as some of the > ssytem dll's are getting loaded just under the 2GB boundry. Even though the > 2GB to 3GB virtual memory is free, Still it can not satisfy my request (1.5 > GB). > If there is a way by which I can hint the system dlls about the free 2GB to > 3GB memory range so that those dll's can get loaded in that part of memory . > I can get the free virtual space which I am looking for. > > "Ivan Brugiolo [MSFT]" wrote: > > > Why cannot you create a section backed by the paging file > > and map small views of the section in your address space ? > > > > -- > > This posting is provided "AS IS" with no warranties, and confers no rights. > > Use of any included script samples are subject to the terms specified at > > http://www.microsoft.com/info/cpyright.htm > > > > > > "pawan1604" <pawan1604@discussions.microsoft.com> wrote in message > > news:DF276ED7-69EF-430F-9063-0F68C97F806E@microsoft.com... > > > Hi, > > > I am working on a project. where I want to create the file Mapping of 1.5 > > > GB. But due to badly fragmented process virtual memory (many system dll's > > and > > > third party dll's are getting loaded at random address in the process > > virtual > > > memory), I am not able to do so, as in Windows shared memory can only be > > > created contiguously (if i am not wrong). > > > Can any body help me, how I can create a 1.5 GB file mapping in this case? > > > > > > thanks, > > > pawan. > > > > > >
- Next message: amosgcs: "Calling from a dll a function written in a MFC application"
- Previous message: Slobodan Brcin \(eMVP\): "Re: Disassembler question"
- In reply to: pawan: "Re: Non contiguous Virtual Memory"
- Next in thread: pawan: "Re: Non contiguous Virtual Memory"
- Reply: pawan: "Re: Non contiguous Virtual Memory"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|