Giter Site home page Giter Site logo

Comments (4)

allinurl avatar allinurl commented on May 23, 2024

Nope, GoAccess isn't aware of Docker's mem_limit. This behavior might be because of how Docker handles memory limits and how goaccess responds to them. I'm not entirely sure about the specifics of Docker's mem_limit, but I guess it doesn't instantly shut down a process when the limit is hit. My guess is that Docker might employ memory swapping and compression instead?

from goaccess.

rc5hack avatar rc5hack commented on May 23, 2024

Nope, GoAccess isn't aware of Docker's mem_limit.

Okay, it does matter. I should make some more tests with numerous runs to reproduce this behavior under controlled conditions. It seems like some garbage-collection trait on GoAccess side, but I can't proof for now.

Docker ... memory swapping

Maybe...

Docker ... memory compression

Very questionable. Docker definitely does not implement memory compression on its side, memory compression is a kernel feature, not a Docker feature. This way, memory management should not be different when GoAccess is running in docker or without it.

I hope to explore this in more detail and come back here with more results.

from goaccess.

rc5hack avatar rc5hack commented on May 23, 2024

For those who end up here in the future investigating similar issues:

In my 1st post, given configuration example could be confusing: I used GOMEMLIMIT env variable, which is suitable for golang-based software only. GoAccess is written in C, hence GOMEMLIMIT is entirely useless and should not be used here (it might make sense to add a line about this in redme).

    environment:
      - GOMEMLIMIT=320MiB

from goaccess.

allinurl avatar allinurl commented on May 23, 2024

@rc5hack Thanks for sharing those findings. I agree. Could you quickly submit a PR to add that to the Docker section in the README.md?

from goaccess.

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.