Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8955337
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T14:31:48+00:00 2026-06-15T14:31:48+00:00

As the title states, I have a problem with high page file activity. I

  • 0

As the title states, I have a problem with high page file activity.

I am developing a program that process a lot of images, which it loads from the hard drive.
From every image it generates some data, that I save on a list. For every 3600 images, I save the list to the hard drive, its size is about 5 to 10 MB. It is running as fast as it can, so it max out one CPU Thread.

The program works, it generates the data that it is supposed to, but when I analyze it in Visual Studio I get a warning saying: DA0014: Extremely high rates of paging active memory to disk.

The memory comsumption of the program, according to Task Manager is about 50 MB and seems to be stable. When I ran the program I had about 2 GB left out of 4 GB, so I guess I am not running out of RAM.
Memory usage of my programhttps://i.stack.imgur.com/TDAB0.png

The DA0014 rule description says “The number of Pages Output/sec is frequently much larger than the number of Page Writes/sec, for example. Because Pages Output/sec also includes changed data pages from the system file cache. However, it is not always easy to determine which process is directly responsible for the paging or why.”

Does this mean that I get this warning simply because I read a lot of images from the hard drive, or is it something else? Not really sure what kind of bug I am looking for.

EDIT: Link to image inserted.

EDIT1: The images size is about 300 KB each. I dipose each one before loading the next.

UPDATE: Looks from experiments like the paging comes from just loading the large amount of files. As I am no expert in C# or the underlying GDI+ API, I don’t know which of the answers are most correct. I chose Andras Zoltans answer as it was well explained and because it seems he did a lot of work to explain the reason to a newcomer like me:)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T14:31:50+00:00Added an answer on June 15, 2026 at 2:31 pm

    Updated following more info

    The working set of your application might not be very big – but what about the virtual memory size? Paging can occur because of this and not just because of it’s physical size. See this screen shot from Process Explorer of VS2012 running on Windows 8:

    VS 2012 Memory

    And on task manager? Apparently the private working set for the same process is 305,376Kb.

    We can take from this a) that Task Manager can’t necessarily be trusted and b) an application’s size in memory, as far as the OS is concerned, is far more complicated than we’d like to think.

    You might want to take a look at this.

    The paging is almost certainly because of what you do with the files and the high final figures almost certainly because of the number of files you’re working with. A simple test of that would be experiment with different numbers of files and generate a dataset of final paging figures alongside those. If the number of files is causing the paging, then you’ll see a clear correlation.

    Then take out any processing (but keep the image-loading) you do and compare again – note the difference.

    Then stub out the image-loading code completely – note the difference.

    Clearly you’ll see the biggest drop in faults when you take out the image loading.

    Now, looking at the Emgu.CV Image code, it uses the Image class internally to get the image bits – so that’s firing up GDI+ via the function GdipLoadImageFromFile (Second entry on this index)) to decode the image (using system resources, plus potentially large byte arrays) – and then it copies the data to an uncompressed byte array containing the actual RGB values.

    This byte array is allocated using GCHandle.Alloc (also surrounded by GC.AddMemoryPressure and GC.RemoveMemoryPressure) to create a pinned byte array to hold the image data (uncompressed). Now I’m no expert on .Net memory management, but it seems to me that what we have a potential for heap fragmentation here, even if each file is loaded sequentially and not in parallel.

    Whether that’s causing the hard paging I don’t know. But it seems likely.

    In particular the in-memory representation of the image could be specifically geared around displaying as opposed to being the original file bytes. So if we’re talking JPEGs, for example, then a 300Kb JPEG could be considerably larger in physical memory, depending on its size. E.g. a 1027×768 32 bit image is 3Mb – and that’s been allocated twice for each image since it’s loaded (first allocation) then copied (second allocation) into the EMGU image object before being disposed.

    But you have to ask yourself if it’s necessary to find a way around the problem. If your application is not consuming vast amounts of physical RAM, then it will have much less of an impact on other applications; one process hitting the page file lots and lots won’t badly affect another process that doesn’t, if there’s sufficient physical memory.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

As the title states, I have a C# console app which uses interop to
As title states I have problem with thread based structure. What I need to
i have a problem just as title, and the http-status is 302 Moved Temporarily.
As the title states, I am using devise. I came upon this link that
I have a problem with my code that for the life of me I
I am teaching myself some Python and I have come across a problem which
I have problem with the Play Again button, which is to reset the panel
As the title states, I have a svg image, but I am not able
The following is the XML of my layout. It explicitly states that the title,
Here is the problem. I have a stored procedure that transforms normalized data into

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.