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 6191255
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T02:43:55+00:00 2026-05-24T02:43:55+00:00

I have a live Lucene index that is updated throughout the day. When several

  • 0

I have a live Lucene index that is updated throughout the day. When several successive batches of updates for the index come through, I want those updates to be available for searching as quickly as possible. Therefore I have to recreate the IndexSearcher.

The problem is that the IndexSearcher can take around 100mb of memory and when a lot of updates are coming through, it can be recreated relatively often and I’ve noticed the .Net garbage collector seems slow to clean up the reference to the old IndexSearcher object. This results in the memory usage of the process climbing out of control as the collector seems to free up memory from old IndexSearchers more slowly than they are being recreated.

I’ve found this problem is mitigated by crossing the line into taboo territory and calling GC.Collect(), which frees up the memory immediately. The performance impact doesn’t seem to be noticeable but as I’m doing something that many advice against, I’d be curious if anyone else has experience of objects being created and released faster than the garbage collector is cleaning them up. I’d be particularly interested if anyone has had this problem with the Lucene IndexSearcher.

I should note that the IndexSearcher is being recreated at peak times around once every 10-20 seconds.

  • 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-05-24T02:43:57+00:00Added an answer on May 24, 2026 at 2:43 am

    I consider it acceptable to call GC.Collect if you just released a ton of memory, and the memory can and should be freed now to reduce memory pressure. The GC does not know this memory is now available until it runs again, and you don’t know when that will be.

    In your case, you said “it can be recreated relatively often”. If so, calling GC.Collect when you recreate it sounds reasonable.

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

Sidebar

Related Questions

I have a live app that uses AsyncTask in several activities, and I'm getting
I have a live 16-bit gray-scale video stream that is pushed through a ring-buffer
I have live data in a database i want to tweet data in real
I am loading content into a page with ajax that will have live click
I have a live database that had some data deleted from it and I
I have a live rails website and I want to have a form with
I have a Live Feed jQuery box which updates in every 10 seconds, and
Context I have a live running redis-server. I want to make a backup. Idea:
To clarify, I currently have a live app that does not implement in app
I have a live wallpaper that uses vibrate permission. When the slide screen that

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.