Good morning,
I am working on an ancient laptop running Win32, with 4gb of physical memory.
While performing a computational experiment, I hit into an old and very absurd problem:
"op. sys. refuses to provide memory
Stata's data-storage memory manager has already allocated 1504m bytes and it just attempted to allocate
another 16m bytes. The operating system said no. Perhaps you are running another memory-consuming task and
the command will work later when the task completes. Perhaps you are on a multiuser system that is
especially busy and the command will work later when activity quiets down. Perhaps a system administrator
has put a limit on what you can allocate; see help memory. Or perhaps that's all the memory your computer
can allocate to Stata.
r(909);
"
The problem is absurd because I am able to use only 1504/4000 = .376 = 37.6% of my physical memory for work, and apparently Win32 is enjoying itself on the remaining 62.4% of my physical memory space.
The nature of the problem is explained here https://www.stata.com/support/faqs/w...ts-and-memory/
if I understand correctly the explanation: a) Stata needs contiguous space to allocate to its working memory b) Win32 writes to arbitrary addresses thereby fragmenting the available memory.
To complete the description of the situation, I was able to manually -set mem- up and including Stata 11, and since Stata 12 I get in return:
"set memory ignored.
Memory no longer needs to be set in modern Statas; memory adjustments are performed on the fly
automatically.
"
My questions are:
1. Is that arrangement where I am not able to reserve the memory space from the outset not dysfunctional? In my view it is dysfunctional for many reasons:
a) the available contiguous space depends on the state of the system, so the time at which you try to reserve the space matters, and generally the later you try to reserve it from restarting the computer, the worse it gets (because there are more processes running at some random memory addresses, fragmenting your available space)
b) I would prefer to know that I am not able to do something at the outset, and not after my program has run for hours/days/weeks.
More constructively, is there any way to overrule this, and reserve my memory space from the outset like in Stata 11 and earlier?
2. Do the same problems exist under Win64 and Linux? Say if I have 4gb of RAM, what percentage in your experience you can use under Win64 and Linux for work, and what percentage is reserved for the operating system to enjoy itself?
Related Posts with Why was the manual memory management (-set mem-) disabled/discontinued? Are Stata's memory problems of Win32 present under Win64 and Linux?
Choice models -cmxtmixlogit- command for including random parameter for one of the alternatives (the base/status quo alternative)I am having trouble with the new stata 16 cmxtmixlogit command. I am trying to estimate a choice mo…
Margin effects with multinomial logistic regressionHi dear Statalisters, I am running a mlogit model with interaction effects between categorical vari…
Moderation effectHi Everyone, I am running a panel model using population averaged model. I have different hypothese…
Creating a forvalue with several i (or; Generating a new variable with forvalue)Dear all, I'm trying to create several variables, called Pv1, PV2, PV3, PV4, PV5. I could explain a…
Estimation using only one out of many categorical variables without dropping the restDear members, My dataset contains 4 countries and I'd like to run a regression using only one of th…
Subscribe to:
Post Comments (Atom)
0 Response to Why was the manual memory management (-set mem-) disabled/discontinued? Are Stata's memory problems of Win32 present under Win64 and Linux?
Post a Comment