Linux修改用户最大线程数目和最大打开文件数目等

    xiaoxiao2021-03-25  104

    提交spark作业,报错:spark "dispatcher-event-loop-3" java.lang.OutOfMemoryError: unable to create new native thread

    起初以为是JVM内存资源分配不足的问题,经过排查之后没有解决问题。最后尝试修改linux最大线程数目解决问题。

    查看当前用户的最大线程数:

    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) 94256 max locked memory       (kbytes, -l) 64 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) 10240 cpu time               (seconds, -t) unlimited max user processes              (-u) 65535 virtual memory          (kbytes, -v) unlimited file locks                      (-x) unlimited

    我们可以使用ulimit -对应参数  设置进行修改

    例如: ulimit -n 2048 设置最大打开文件数为2048

    修改最大数目,切换到root用户下:

    vim /etc/security/limits.d/90-nproc.conf

    *          soft    nproc     1024(默认是1024个),修改更大即可! root       soft    nproc     unlimited

    修改如下:

    *          soft    nproc     65535 root       soft    nproc     unlimited

    保存退出,重启生效,再次提交作业解决问题。

    补充:有时候还会提示打开文件过度问题:

    修改open files                      (-n) 1024更大即可!

    ulimit  -n 设置的最大打开文件数

    转载请注明原文地址: https://ju.6miu.com/read-20217.html

    最新回复(0)