Git Product home page Git Product logo

Comments (4)

igungor avatar igungor commented on May 21, 2024

Hey @tommyblue, thanks for filing an issue.

~$ ulimit -H -n
unlimited

~$ ulimit -S -n
256

~$ launchctl limit maxfiles
maxfiles 10240 10240

In addition to that, could you share the output of ulimit -n please.

s5cmd walks given <src> directory and sends each file to an internal queue, where workers receive from. By default, 256 workers are up and running and each one tries to open the file they received from the queue. The limit here is your OSs open file descriptor limit. I suspect your open file descriptor limit is around 256.

Increasing the limit to a high value should work.

from s5cmd.

tommyblue avatar tommyblue commented on May 21, 2024

ulimit -n => 256

from s5cmd.

tommyblue avatar tommyblue commented on May 21, 2024

Your diagnosis and proposed solution are certainly correct, but I think the behaviour of s5cmd under this situation is misleading. Moreover the error message is tagged "VERBOSE" so it's probably hidden without the -vv flag.

Some possible solutions:

  • Show this kind of errors also without the verbose flag
  • check ulimit against the number of configured workers at startup and notify the user if the values are incompatible
  • catch the error and show a suggestion at the end of the output. Something like: "s5cmd found that the configured ulimit is too low for the number of worker you're using. Either increase the ulimit value or decrease the number of parallel workers"

from s5cmd.

igungor avatar igungor commented on May 21, 2024

@tommyblue You're right. The first one is definitely needed. If there is a non-retriable error, it needs to be shown without a verbose flag.

Others are good suggestions also. Let's keep the issue open till we've a fix.

Thanks again.

from s5cmd.

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.