Welcome to the Linux Foundation Forum!

ulimit confusion.

Hi.

I've been playing around with ulimit and I have some questions.

If I raise a limit with $ ulimit -n 10000 is this hard or soft?

If I raise a limit with $ ulimit -n 1025 it works, then I try to lower the limit back to its default 1024 with $ ulimit -n 1024 I get an error. Why?

To edit the /etc/security.limits.conf is it safe to use vim/nano?

Thanks.

Comments

  • Hi @WarrenUK ,

    If I raise a limit with $ ulimit -n 10000 is this hard or soft?

    If you don't specify -H for hard or -S for soft, you are doing it for both. Look at this:

    1.- Checking the hard limit:
    luis@starseedstation:~$ ulimit -Hn
    524288

    2.- Checking the soft limit:
    luis@starseedstation:~$ ulimit -Sn
    1024

    3.- Modifying the limits:
    luis@starseedstation:~$ ulimit -n 1025

    4.- Checking the limits again:

    luis@starseedstation:~$ ulimit -Hn
    1025
    luis@starseedstation:~$ ulimit -Sn
    1025

    If I raise a limit with $ ulimit -n 1025 it works, then I try to lower the
    limit back to its default 1024 with $ ulimit -n 1024 I get an error. Why?

    1.- What's the exact error you are getting?
    2.- What user is running the command?
    3.- What distro and version are you running?

    To edit the /etc/security.limits.conf is it safe to use vim/nano?

    While you put the right information in there, there will no harm.

    Regards,
    Luis.

  • WarrenUK
    WarrenUK Posts: 72
    edited January 2020

    @luisviveropena said:

    If I raise a limit with $ ulimit -n 1025 it works, then I try to lower the
    limit back to its default 1024 with $ ulimit -n 1024 I get an error. Why?

    1.- What's the exact error you are getting?
    2.- What user is running the command?
    3.- What distro and version are you running?

    In a fresh terminal:

    $ ulimit -n 1025 works ok
    $ ulimit -n 1024 works ok
    $ ulimit -n 1025 error
    bash: ulimit: open files: cannot modify limit: Operation not permitted

  • Hi @WarrenUK ,

    Please provide the requested information, so I can try to help you.

    1.- What user is running the command? Is it a normal user, is it root?

    2.- What distro and version are you running?

    3.- Check /etc/security/limits.conf for limits.

    Regards,
    Luis.

    1. normal user
    2. Kubuntu 19.10
    3. Nothing is set in limits.conf

    Here is my output for ulimit -a

    core file size (blocks, -c) 0
    data seg size (kbytes, -d) unlimited
    scheduling priority (-e) 0
    file size (blocks, -f) unlimited
    pending signals (-i) 31181
    max locked memory (kbytes, -l) 65536
    max memory size (kbytes, -m) unlimited
    open files (-n) 1024
    pipe size (512 bytes, -p) 8
    POSIX message queues (bytes, -q) 819200
    real-time priority (-r) 0
    stack size (kbytes, -s) 8192
    cpu time (seconds, -t) unlimited
    max user processes (-u) 31181
    virtual memory (kbytes, -v) unlimited
    file locks (-x) unlimited

    I'm confused by what is a hard and soft limit in this output?

  • Hi.

    I've had another play around. This is confusing me.

    $ ulimit -H -n
    1048576
    $ ulimit -S -n
    1024
    $ ulimit soft
    $ ulimit -n 10000
    $ ulimit -H -n
    100000

    I thought the soft limit could be set up and down up to the hard limit? I can set the soft limit upwards once and then progressively lower it down and down but I can never increase it again as the hard limit comes down with the soft limit even though I am not choosing the hard limit at the terminal.

  • Hi @WarrenUK ,

    I thought the soft limit could be set up and down up to the hard limit?

    That's correct.

    I can set the soft limit upwards once and then progressively lower it down
    and down but I can never increase it again as the hard limit comes down
    with the soft limit even though I am not choosing the hard limit at the terminal.

    Nop, that happens because you are lowering down the hard limit, here:

    $ ulimit -n 10000

    When you don't specify if it's soft or hard, the ulimit command will affect both.

    Regards,
    Luis.

  • Hi Luis.

    So if I do

    $ ulimit soft
    $ ulimit -n 10000 <<<< this will set both hard and soft limit at the same time?

    What is the $ ulimit soft command for then?

    Many thanks.

  • Hi Warren,

    So if I do

    >

    $ ulimit soft
    $ ulimit -n 10000 <<<< this will set both hard and soft limit at the same time?

    Yes, that's right.

    What is the $ ulimit soft command for then?

    If you want to rise the soft limit to 10000, you do the following:

    ulimit -Sn 10000

    Look at this:

    luis@starseedstation:~$ ulimit -Sn
    1024
    luis@starseedstation:~$ ulimit -Hn
    524288
    luis@starseedstation:~$ ulimit -Sn 10000
    luis@starseedstation:~$ ulimit -Sn
    10000
    luis@starseedstation:~$ ulimit -Hn
    524288
    luis@starseedstation:~$

    Regards,
    Luis.

Categories

Upcoming Training