Giter Site home page Giter Site logo

lua memory usage about moreblocks HOT 6 OPEN

minetest-mods avatar minetest-mods commented on May 28, 2024
lua memory usage

from moreblocks.

Comments (6)

 avatar commented on May 28, 2024 1

uff, had to search first how to find commit-versions, I just did today my first own mod, and still not sure for what all the links
so the one new is d96f110 I just took, the 1d054ec is 3 days older and 0fea5ee 14.07.18 might be the last one to compare, so 3 of them
give me some time - as I restart the test-server about 10 times again, again, so see if values keep similar

?? so cant download a commit-version, I don't see it - but should be able to reverse the seen changes at the last one, so then have the older version
and the very old should be still here somewhere

from moreblocks.

 avatar commented on May 28, 2024

please see Re: [Server] Asia Thailand Minetest 5.0.0 :30001 aktive as detected changes in behaviour with new version.

so what you changed that after all 1.500 KB more mem used now ?

I am working on some automatic lua memory cleaning, better then stop_lj_oom, but still not "able" (lua knowledge) to help you there inside your code

as also twoelk asked: what is happening inside your code
to may understand and find solutions

from moreblocks.

Calinou avatar Calinou commented on May 28, 2024

@minetest-one Can you test every commit from the latest one (no need to test commits that didn't change any Lua files) to see where the memory usage increase comes from? That would be highly appreciated.

from moreblocks.

 avatar commented on May 28, 2024

here we go:
loading:

  • time (mem to 377),
  • free_lj_mem (mem to 1004),
  • moreblocks (mem to see below),
  • unified_iinventory (end about ~600 higher than moreblocks)
    so these together just need 1600 during loading, but also I have seen that unified_inventory then index ? collect and rise, but here the value after was lower at old version, and higher at both new ones.

values are:
1st what might mod load reached mem during start,
2nd after unified_inventory showed loaded size,
3rd after that collectgarbage(), and show again

  • old version 0fea5ee 14.07.18, loaded on 9.3.2019 acts at start
    10805 - 8931 - 8931
    10825 - 8857 - 8857
    10868 - 8970 - 8970
    10777 - 8848 - 8848
    10763 - 8879 - 8879

  • newer version d96f110 (so far I did right changes back, but I guess I did)
    7078 - 12037 - 12037
    7078 - 12037 - 12037
    7425 - 12376 - 12376
    7529 - 12214 - 12215

  • latest version 1d054ec (not much idff)
    7233 - 12186 - 12186
    7363 - 12309 - 12309
    7312 - 12256 - 12263
    7280 - 12225 - 12225
    7240 - 12187 - 12187

like I realised, new version load less at begin, but get huge after, and keep more memory
Why that small change cause so big diff, might be interesting to investigate as we have here less change in code but much in memory behaviour

I have no idea yet, and take a break - let this sink into brain ... or bad luck, get lost
add:
was that really the only change ? in moreblocks code ?
I solved that problem secondary - using free_lj_mem to keep memory low.
But as a fact, this is one of the most memory using mods I know, end understand code too less yet to understand why.
Good luck

from moreblocks.

fluxionary avatar fluxionary commented on May 28, 2024

i don't have anything concrete to add here, but more recent versions of minetest have plugged a number of memory leaks. moreblocks currently creates a huge quantity of new node ids, and the client generally doesn't handle nodeblock/mesh drawtypes as well as full nodes. this is probably an intractable problem to fix within the scope of this mod, though i think we should give links to relevant engine issues before closing this.

from moreblocks.

fluxionary avatar fluxionary commented on May 28, 2024

in my experience - which is broad but far from total across the minetest mod ecosystem - luajit OOM issues are mostly related to worldgen (caverealms, other_worlds, underch, etc.).

#191 should help reduce the impact of moreblocks on memory in the future, but overall, this is an architectural issue w/ minetest, and moreso luajit, and so is outside the scope of this mod.

from moreblocks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.