 |
 |
Apologies for the shouting but this is important.
When answering a question please:
- Read the question carefully
- Understand that English isn't everyone's first language so be lenient of bad spelling and grammar
- If a question is poorly phrased then either ask for clarification, ignore it, or mark it down. Insults are not welcome
- If the question is inappropriate then click the 'vote to remove message' button
Insults, slap-downs and sarcasm aren't welcome. Let's work to help developers, not make them feel stupid.
cheers,
Chris Maunder
The Code Project Co-founder
Microsoft C++ MVP
|
|
|
|
 |
For those new to message boards please try to follow a few simple rules when posting your question.- Choose the correct forum for your message. Posting a VB.NET question in the C++ forum will end in tears.
- Be specific! Don't ask "can someone send me the code to create an application that does 'X'. Pinpoint exactly what it is you need help with.
- Keep the subject line brief, but descriptive. eg "File Serialization problem"
- Keep the question as brief as possible. If you have to include code, include the smallest snippet of code you can.
- Be careful when including code that you haven't made a typo. Typing mistakes can become the focal point instead of the actual question you asked.
- Do not remove or empty a message if others have replied. Keep the thread intact and available for others to search and read. If your problem was answered then edit your message and add "[Solved]" to the subject line of the original post, and cast an approval vote to the one or several answers that really helped you.
- If you are posting source code with your question, place it inside <pre></pre> tags. We advise you also check the "Encode "<" (and other HTML) characters when pasting" checkbox before pasting anything inside the PRE block, and make sure "Use HTML in this post" check box is checked.
- Be courteous and DON'T SHOUT. Everyone here helps because they enjoy helping others, not because it's their job.
- Please do not post links to your question into an unrelated forum such as the lounge. It will be deleted. Likewise, do not post the same question in more than one forum.
- Do not be abusive, offensive, inappropriate or harass anyone on the boards. Doing so will get you kicked off and banned. Play nice.
- If you have a school or university assignment, assume that your teacher or lecturer is also reading these forums.
- No advertising or soliciting.
- We reserve the right to move your posts to a more appropriate forum or to delete anything deemed inappropriate or illegal.
cheers,
Chris Maunder
The Code Project Co-founder
Microsoft C++ MVP
|
|
|
|
 |
Hello,
I am trying to follow this link Simple I/O device driver for RaspberryPi[^]
I tried the same for Pi2 B model but it is not working as it should. I changed the address to 3f000000(for pi2 b) and it is building the kernel module. But when I try to use see the output at 15th port, nothing is there. I tried 3f200000 address, but that module was not loading with insmod command. It throws an error "no such device". I checked the /proc/devices file and saw 3f200000 to 3f2000b3 already mapped with gpio, so maybe cannot use that same address to create this driver. Please help me rectify this.
|
|
|
|
 |
You should post your question in the forum at the end of the article, so the author can help you.
|
|
|
|
 |
Hi,
In 89C51SND1C-UL digital tube selected, segment are used in P0 mouth. How to write a program. The datasheet of 89C51SND1C-UL is here http://www.kynix.com/Detail/1155480/89C51SND1C-UL.html
This is a buzzer program.The bit-choice is in P2. I want to consult if I want to change bit-choice at P0 mouth, how to change the program. I convert P2 directly into P0 mouth. It doesn't work. I'm still learning single-chip computer.
="quote">Quote: #include
|
|
|
|
 |
hi sir,
I am working on SmartCard Chip ,SCOSTA .
I have successfully created file structure in smartcard with ISO7816 specification.
while creating file structure ,i have been set security condition under Tag 8C for files.
It includes MF(Master file),under that EFs but Unable to delete file structure.
please let me know ...
How should i Delete file structure ? How should I set Security Condition for files?
How can I store variable data in smart card ?
|
|
|
|
 |
Hi All, I'm trying to expand my development setup. I have a win10 laptop that handles the average stuff, but being tied down with extra monitors and a real keyboard and mouse it's lost a lot of its mobility. That and a lack of desk space has got me dreaming of other expanses of unused surfaces around my apartment. I'm looking to do more embedded programming on a Linux o.s., and I currently have an ESXi host with a few vm's that can do the job. My spare laptop is an arm based chromebook. Not much I can do to connect to the vm's other than vlc and the like. Any ideas on how I could hook USB dev boards to my chromebook and program them through a remotely accessed VM ?? I haven't been able to find many tools for this purpose.
Thanks
|
|
|
|
 |
Hello everyone
I am developing Localization system which requires a high timestamp resolution Access point.
If there is any recommended product has this characteristic which can timestamp the in and out bound frame in a higher resolution than 1µs.
Wi-Fi
|
|
|
|
 |
AS my development machine & my test machine are 64bit windows system with Windows 7 operating System So to give myself a head start I compiled the ComPort project under Windows-driver-samples-master/serial/VirtualSerial2 sample code provided by Microsoft, initial it flashed an error that said as follows "Provider cannot be "Microsoft", must be an organization who authored INF" so I changed the following line in .inx file MSFTUMDF=Microsoft to MSFTUMDF=Sample, then it compiled successfully.
Then I follow the following process to install the driver on the target machine.
1) I copied the VirtualSerial2um.cer file VirtualSerial2um.inf from Windows-driver-samples-master\serial\VirtualSerial2\ComPort\x64\Debug & devcon.exe from C:\Program Files\Windows Kits\10\Tools\x64 to a Sample folder in the C:\ drive of the Target device.
2) Then on target machine I open the internet explorer I went to Internet Options->content->Certificates->import then I selected the VirtualSerial2um.cer file & imported the Certificate.
3) Then on target machine I opened the command prompt as Administrator, browsed to the Sample folder & typed the following command.
<b>devcon install virtualSerial2um.inf UMDF\Virtual_1 </b>
Then on the command prompt it says: <b>device tree entry created devcon failed</b>
In the device manager Under Unknown Device COMn(n is com port number) appears but when I open my hyper terminal COMn doesn't show on the drop down list of COM ports.
Now I am unable to figure out why my devcon installation is failing & as t says that my driver is registered in the device tree then why It is showing in the Unknown device & why not is PORTS
This is the content of the VirtualSerial2um.inf file
; ; Copyright (C) Microsoft Corporation, All Rights Reserved. ; ; VirtualSerial.inf ; ;Installation Notes: ; Type "devcon install VirtualSerial2um.inf UMDF\VirtualSerial2um" to install
[Version] Signature="$Windows NT$" <b>Class=Ports</b> ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} Provider=%MSFTUMDF% CatalogFile=WUDF.cat DriverVer=05/30/2016,19.7.52.160
[Manufacturer] %MSFTUMDF%=Microsoft,NTx86
[Microsoft.NTx86] %VirtualSerialDeviceName%=VirtualSerial_Install,UMDF\VirtualSerial2um
[SourceDisksFiles] Virtualserial2um.dll=1
[SourceDisksNames] 1 = %MediaDescription%
; =================== UMDF VirtualSerial Device ==================================
[VirtualSerial_Install.NT] CopyFiles=UMDriverCopy
[VirtualSerial_Install.NT.hw] AddReg=SetDeviceType_AddReg
[VirtualSerial_Install.NT.Services] AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall
[VirtualSerial_Install.NT.Wdf] UmdfService = VirtualSerial, VirtualSerial_Install UmdfServiceOrder = VirtualSerial UmdfKernelModeClientPolicy = AllowKernelModeClients UmdfFileObjectPolicy = AllowNullAndUnknownFileObjects UmdfFsContextUsePolicy = CannotUseFsContexts
[VirtualSerial_Install] UmdfLibraryVersion=2.15.0 ServiceBinary=%12%\UMDF\Virtualserial2um.dll
[WUDFRD_ServiceInstall] DisplayName = %WudfRdDisplayName% ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\WUDFRd.sys
[SetDeviceType_AddReg] HKR,,DeviceType,0x10001,0x0000001b ; 0x1b = FILE_DEVICE_SERIAL_PORT
[DestinationDirs] UMDriverCopy=12,UMDF ; copy to drivers\UMDF
[UMDriverCopy] Virtualserial2um.dll
; =================== Generic ==================================
[Strings] MSFTUMDF="Sample" MediaDescription="Microsoft Sample Driver Installation Media" WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector" VirtualSerialDeviceName="Microsoft VirtualSerial Sample (UMDF 2)
Could anyone please guide me in the correct direction
|
|
|
|
 |
Message Removed
modified 4-Mar-16 8:23am.
|
|
|
|
 |
I am searching for all btle devices with BluetoothLEAdvertisementWatcher.
It works fine but I need a device handle so I can use GATT api's.
How do I get a device handle from the information provided in BluetoothLEAdvertisementReceivedEventArgs?
“If I had asked people what they wanted, they would have said faster horses.”
― Henry Ford
|
|
|
|
 |
I don't think I am going to get this working.
It seems GATT comms is only possible if the device is already paired. And there is no api for paring programmatically.
Perhaps I can do it on android.
“If I had asked people what they wanted, they would have said faster horses.”
― Henry Ford
|
|
|
|
 |
Hello,
I have a WDM upperfilter driver for some class devices(WPD, Printers). The wdm upper filter is from WDK generic toaster filter sample. The problem that I have is for some device that support or install UMDF drivers I receive STATUS DEVICE CONFIGURATION_ERROR at IRP_MN_START_DEVICE and device failed to start. Can you help me please or give me an advice?
Thank you.
|
|
|
|
|
 |
WDF = UMDF + KMDF (user moder driver + kernel mode driver)
|
|
|
|
 |
And the toaster samples are kernel drivers.
So how can you load a kernel filter on a usermode driver?
|
|
|
|
 |
You don't understand.
I'm an upper filter driver(KERNEL) over a device class that use in his stack an UMDF driver...
|
|
|
|
 |
The driver is in usermode. You cant run kernel code (the filter) in user mode, and vice versa.
|
|
|
|
 |
Without the UMDF my filter works
|
|
|
|
 |
You mean it works when you load it onto the toaster driver.
Of course it will.
However kernel code cant run in user mode, and a UMDF driver is user mode. Therefore the toaster filter driver, which is kernel code, cant be used on your UMDF driver.
You really have no idea what you are doing do you? You don't even understand the concept of user mode and kernel?
|
|
|
|
 |
My friend:
I have a WDM filter driver, based on WDK toaster sample, that I am using to filter portable devices (mainly Phones), as upper filter. During AddDevice phase, I am querying device properties (such Description, Manufacturer and so on) and then attaching to device. I can see the IRP_MN_START_DEVICE, which I send down to next lower driver after setting a completion routine. This is working fine on most of the machines I am testing on, but on some systems (every XP and some Windows 7 and Server 2008), when I send the IRP_MN_START_DEVICE down to next driver, I get a STATUS_DEVICE_CONFIGURATION_ERROR, so this is preventing the device from being installed in the first place. I have managed to overcome this error by editing the hardware ID registry key for the device and creating "UpperDriverOk" and "KernelModeClientPolicy" values, setting them to 1. This way the device starts without issues and I can filter it as normal. Now, I am aware of Portable Devices being managed by an UMDF driver, but does that explains the issue with Start Device phase? I haven't found any differences between those systems with the issue and those that are working fine without needing the "registry values" workaround. Is there any system setting or service configuration that might be helping (or ruining) this filtering scenario? Would it be possible to apply the "KernelModeClientPolicy" workaround for the whole system and not separately for every single Phone device?
|
|
|
|
 |
Maybe I wasn't so clear
|
|
|
|
 |
No, you didn't explain yourself at all well.
I have no idea what the cause of your failure is.
|
|
|
|
 |
Ok.
Thank you for your time.
|
|
|
|
 |
Yes, I've googled. I have the need to "program" SD Cards with an application deployment image. We've had some issues with reliably getting factory employees to properly program these SD cards - actually started with Windows Explorer. In any event, I now have a script that makes use of chkdsk and xcopy to expand the production image onto an SD Card.
However, there are random times (less than 1%) where the process fails. Following the xcopy command, the chkdsk might fail with a variety of errors:
1) "filename" first allocation unit is not valid. The entry will be truncated.
2) "filename" entry contains a nonvalid link. The size of
|
|
|
|
 |
Have you checked that they are all correctly formatted as NTFS?
|
|
|
|
 |
This is strictly FAT32. The SD cards go into an embedded system.
Charlie Gilley
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
 |
That are file system errors. They may be sourced by faulty SD cards or by a reader that has problems with specific SD card types.
If you got such errors sometimes I would not only perform a chkdsk but also a binary file compare on all files. Doing so you might find more unusable cards.
With disk images you may also create an image file and write that to the cards using an image writer utility (again followed by a verify that performs a binary comparison). While this takes more time it avoids the need of formatting and gives you identical images.
Because the error rate is below 1% you might live with it and dispose the faulty SD cards or try to reduce the error rate by using other SD cards and/or readers.
|
|
|
|
 |
Correct - all file system errors. For another product, we have a tool that does just as you suggest. Factory people get in a hurry, and I think some of the problems are due to pulling the card too soon.
thanks for the info
Charlie Gilley
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
 |
definition of type secondary storage and give the example and the picture
|
|
|
|
 |
Member 12192903 wrote:
definition of type secondary storage and give the
example and the picture A watch, example can be found here[^].
More seriously, Google has a list of sites explaining your question. One answer is here[^], with picture.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
 |
Here is one I often store things in. Its got an incredible capacity, its as if it empties itself after a while: storage[^]
|
|
|
|
 |
Alternatively referred to as external memory, secondary memory, and auxiliary storage, a secondary storage device is a non-volatile device that holds data until it is deleted or overwritten. Secondary storage is about two orders of magnitude cheaper than primary storage. Consequently, hard drives (a prime example of secondary storage) are the go-to solution for nearly all data kept on today's computers.
modified 20-Apr-16 19:55pm.
|
|
|
|
 |
Hi,
I get the following error message when I try and build the "XPSDrvSmpl" project. Followed the instructions in the Readme guide, but I also get exact same error message when Building the built-in "Print Driver v4" template. Not sure if it's something I have to configure within each project or on my machine.
https://github.com/Microsoft/Windows-driver-samples
Using Visual Studio 2015 Express. Only trying to find a way of developing a XPS print with a custom GUI to auto save file to certain location.
Inf2Cat Tool Output:
.............................
Signability test failed.
Errors:
22.9.1: xdwscrgb.icc in [colorprofiles] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdcmykprinter.icc in [colorprofiles] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdsmpl.ini in [configplugin] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdsmpl.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdnames.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdwmark.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdbook.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdcolman.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdnup.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdpgscl.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdsmpl-pipelineconfig.xml in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
Warnings:
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_pre_vista in section [standard.ntx86] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_pre_vista in section [standard.ntia64] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_pre_vista in section [standard.ntamd64] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_vista in section [standard.ntx86.6.0] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_vista in section [standard.ntia64.6.0] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_vista in section [standard.ntamd64.6.0] of \xdsmpl.inf
|
|
|
|
 |
I see you have already reported this as an issue[^] on the GitHub project. That's the right place to report it - the people who wrote the code are the people most likely to be able to help you with it.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
 |
Hi Richard,
Do you know what causes the Inf2Cat Signability test errors? I've had this on a few project now and cannot figure it out.
Thanks,
MK2
|
|
|
|
 |
No idea - I don't do hardware!
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
 |
I am trying to troubleshoot a blue screen problem in Windows 10. I enabled Driver Verifier, and it immediately raised the bug check DRIVER_VERIFIER_DETECTED_VIOLATION.
Where do I go on the system to find out what the error is?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
 |
Windows 10 is still the same Windows Runtime based operating system, most of the things come from Win32 and a few cover ups to provide a Metro look and feel.
May the following threads help you:
https://msdn.microsoft.com/en-us/library/windows/hardware/dn457995%28v=vs.85%29.aspx[^]
http://answers.microsoft.com/en-us/windows/forum/windows_8-performance/windows-8-driververifierdetectedviolation-caused/09c53a43-4feb-4d48-aa5d-5c625d23bd32?auth=1[^]
From the MSDN documentation, the error message is due to a memory-leak (did you write that driver?)
Quote: Driver Verifier generates Bug Check 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION with a parameter 1 value of 0x62 when a driver unloads without first freeing all of its pool allocations. Unfreed memory allocations (also called memory leaks) are a common cause of lowered operating system performance. These can fragment the system pools and eventually cause system crashes.
When you have a kernel debugger connected to a test computer running Driver Verifier, if Driver Verifier detects a violation, Windows breaks into the debugger and displays a brief description of the error.
So, the solution (in my opinion) can be to fix the memory-leaks in those drivers.
List of the bugs can be found here: https://msdn.microsoft.com/en-us/library/windows/hardware/ff560187(v=vs.85).aspx[^], it may help you checking which bug it was (since you haven't shared the bug code).
Note: The table provided there (in MSDN document provided above) has 5 rows, make sure you can view all 5 to determine the cause of bug or error.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
 |
First, thank you very much for your reply.
Windows 10 blue screens do not list any bug check code information like all prior Windows did.
Therefore, I do not know the bug code.
And that's what I'm asking: Where to go on the system to find the code?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
 |
Right, sorry for missing that important and valid point there. Actually, everything in the operating system is logged, somewhere. So, if Windows itself doesn't show anything (it is mainly because, most users aren't concerned with resolving those problems, like you are concerned, they just take it to a hardware repair center). Same in these cases, the logs are shown in the DMP files (I would say, that the Dump file, where Windows dumps everything that it has about that crash report).
Although they are not used, or viewed by the consumers, they are meant to be uploaded and shared with Microsoft developers directly, you won't be able to get anything useful, but if you want. You can get the files right in C:\Windows\Minidump or inside the C:\Windows, there will be a file MEMORY.DMP. Use it, to see if you can get to to any use of yours in debugging the error.
For more on that topic, BSOD, read this Microsoft answers thread: http://answers.microsoft.com/en-us/windows/wiki/windows_10-update/blue-screen-of-death-bsod/1939df35-283f-4830-a4dd-e95ee5d8669d[^]
Maybe helpful:
http://superuser.com/questions/148114/where-are-blue-screen-of-death-events-logged-on-windows-xp-and-how-can-i-view-th[^]
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
 |
Thanks for following up. I think you have solved my problem. The reason I wasn't able to find the MEMORY.DMP file is that it did not create one. And the reason it didn't create one is given in the first link you provided.
Namely, the page file must be located on the boot drive for the memory dump to work, and I currently have my page file on another drive.
So I'll move the page file and wait for the BSOD to happen again.
Thanks again!
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
 |
Great that your problem got (almost) solved, Richard!
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
 |
Go to the system advanced and in start up and recovery set the machine to produce a memory dump, you can chose full or mini. Mini is OK ish, in which case its written to system\minidumps as a dmp file with the date/time in the name. If you chose full dump its written to \system\memory.dmp and overwrites any existing one.
To look at the contents use windbg, and open the file.
Then run !analyze -v from the command line (bottom of windbg window) and it will do an autoanalyse. Be careful, these aren't always accurate and often blame the wrong component.
Now you need to debug the issue. Commands like !poolused can hep you find drivers that are using excessive memory, !thread and .thread are very useful to switch to any thread in the system so you can look at each threads stack and wait times.
In fact what you can do with windbg is immense, its got a massive and powerful command set. There is a doc that comes with windbg on basic debugging practices, it is very worth reading.
|
|
|
|
 |
Have to jump into the pool. Today's routers suck for statistics, and I need to know who is using my bandwidth.
cg
Charlie Gilley
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
 |
I have a pretty much brand new system with 16GB DDR4 memory on which I have Win 7 32bit OS. I made a RAMDisk (using Dataram RAMDisk) of 8GB on which I keep windows paging file.
I ran DiskBench tool and ran file creation with the following settings
Create Two files
Block Size - 256KB
Number of blocks - 30
The above values replicate the writing that I usually do on this PC most of the time.
Here are the results-
RAMDisk - ~9MB/s
Spinning drive - ~97MB/s
SSD - ~441MB/s
I am confused about the RAMDisk performance as I expect it to be the faster among the three by far. Any ideas?
thanks
PKNT
|
|
|
|
 |
Even though you wrote that you keep paging file in the RAM disk, one question is, do you have enough available RAM for the RAMDisk? The performance would be catastrophic if the OS is paging anyway.
Also I don't believe that it would make sense to use RAM for paging file. The purpose of the paging file is basically to provide additional space if RAM is exhausted. I believe it would be better to let the OS use it for file caching etc.
|
|
|
|
 |
Sorry if I am not clear, but I am using 32 bit OS, so you can access only about 3GB of RAM for OS. Since I already have 16GB of memory installed which is not being utilized, I made a 8GB RAMDisk using the unutilized RAM which I use for paging file.
PKNT
|
|
|
|
 |
Kiran Satish wrote: I have a pretty much brand new system with 16GB DDR4 memory on which I have Win
7 32bit OS. That almost equals my setup, but with DDR3 and a laptop CPU
Kiran Satish wrote: I made a RAMDisk (using Dataram RAMDisk) of 8GB on which I keep windows paging
file. Ehr.. aight, we have a paging file because PC's have a limited amount of memory, and lots of harddisk space. The only reason to put something in "virtual memory" is because it is too expensive to put it in real memory (aka, hardware RAM).
Putting the page-file on a RAM-disk defeats the purpose of having a page-file. I also have an SSD, and did not believe there should be a page-file with 16Gb worth o' memory. I have had recommendations here to do otherwise and am happy to have followed the advice.
Kiran Satish wrote: Any ideas? Having created my own ram-disk[^], I would say that performance is limited in a number of ways. One of those is the limitation of the speed of your memory; virtual memory is slower than blocks of data pinned into physical memory. Did that make my RAM-disk faster? No, it is limited by the driver itself, bottlenecking at 48 Mb/s, which is actually rather impressive.
Works nice if the RAM-disk leaves at least 6 Gb of free working memory; it is fast in terms of access, making up for the lack in terms of transfer, and thus doing nice when manipulating lots of small files. Like compiling and building a project
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|