ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   AddOn Help/Support (https://www.esoui.com/forums/forumdisplay.php?f=164)
-   -   How LUA memory works? (https://www.esoui.com/forums/showthread.php?t=5232)

QuadroTony 10/25/15 03:43 PM

How LUA memory works?
 
sorry for lame question
i mean in which part of ram it located?


QuadroTony 10/26/15 01:05 AM

if game become laggy when lua memory reach 1gm size - is that mean it located to first part?

Ayantir 10/26/15 02:56 AM

Lua consumption is integrated to ESO.exe process.

When you set the Memory size to XX MB
ESO allocates XXMB to Lua and all this memory used (or not) by Lua core is used.

So if you allocate 1GB for Lua and use only 50, it's 950MB lost for other things (C++ side of ESO, Windows, background process, etc).

QuadroTony 10/26/15 03:23 AM

so in simple words - if more lua memory in use - less RAM for eso.exe(for system eso.exe needs, red 2 GB on the picture) process left... right?


any1 tried to use key in windows to force 32bit soft to use more than 2 gb ram?
i mean /3GB and /USERVA

but the *.exe also must be compilated with the key /LARGEADDRESSAWARE
interesting, eso.exe compilated with /LARGEADDRESSAWARE or not?

Lodur 10/26/15 09:27 AM

See: http://www.lua.org/manual/5.3/manual.html#4 section 4.8 - function: lua_Alloc


This is the backend API function of LUA to allocate and free memory in it's environment. So by looking at this interface we can see that really.. How LUA allocates memory is up to the host environment and not LUA. That is the ESO client in our case.

ESO could use multiple different ways to manage the MAX LUA memory.
- Just a running count of total bytes allocated.
- Pre-allocate the requested LUA memory block and have lua_Alloc serve memory out of the block.


So in summary. I don't know.

merlight 10/26/15 10:57 AM

Quote:

Originally Posted by QuadroTony (Post 23956)
any1 tried to use key in windows to force 32bit soft to use more than 2 gb ram?
i mean /3GB and /USERVA

but the *.exe also must be compilated with the key /LARGEADDRESSAWARE
interesting, eso.exe compilated with /LARGEADDRESSAWARE or not?

I used /3GB when I still used windows. AFAIK /LARGEADDRESSAWARE is just a flag, so if the .exe was compiled without it, you can edit its PE header, set the flag, and it will work.
http://www.heaventools.com/PE-file-header_viewer.htm -> Characteristics -> 0x0020


edit: I checked eso.exe and it does have the flag
Characteristics 0x122
executable
large address aware
32 bit words

edit 2: oh and btw, I'm playing on linux and eso.exe happily consumes 3.5GB of memory, at which point it freezes. So yes, it definitely knows how to use 3GB ;)

QuadroTony 01/25/16 10:28 AM

ZOS announced 64-bit client with next DLC

but ESO already can use more RAM

whats the differents then?

Ayantir 01/25/16 11:06 AM

32bits process can only use 2GB of ram
4GB is compiled with a certain flag

Now it can use 16To.


All times are GMT -6. The time now is 10:58 PM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI