In the link mentioned here --> http://www.oracle.com/technetwork/database/features/oci/ic-faq-094177.html it says there is increased virtual memory footprint when running my applications in conjunction with Instant Client.! Why is that so? If that is the case I would rather install the native Oracle client which takes time to install but still end of the day performance matters right? Why should I prefer instant client when there are memory leaks with it?


You link to a FAQ that says

The Instant Client libraries occupy a virtual address space that is equal to the size of the files. However, only frequently used error messages from the libraries occupy physical memory. Under most cases, the physical memory load is a few kilobytes despite the larger reserved virtual address space

This isn't saying that there is a memory leak in the Instant Client. It is saying that using the Instant Client involves adding a few kb of physical memory and a bit more virtual memory to your application's memory footprint. That's normally not something that would impact performance. If you are running in an environment where a few kb of space is an issue (for example, you're building an application that is supposed to run 10's of thousands of copies of itself on a single server), then you might be better off with a full client install. Of course, the full client will undoubtedly load more than a few kb of shared libraries into memory, they just won't count as part of your application's footprint.

  • "you're building an application that is supposed to run 10's of thousands of copies of itself on a single server" - can you explain a bit more on that?
    – tesla747
    Jul 22 '15 at 17:59
  • 1
    @tesla747 - Not sure what you're asking for an explanation on. It would be odd but you might decide to build an executable that was going to be deployed to a server and that you were going to spawn 10's of thousands of instances of that executable rather than having the executable spawn multiple threads or deploying a client application to a client machine. At that point, you might care about things like whether each instance of the executable is storing frequently used error messages in physical memory rather than having a single shared copy in memory. Jul 22 '15 at 19:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.