gpt4 book ai didi

windows-subsystem-for-linux - 如何在 WSL2 上的 Ubuntu 20.04 中提高打开文件的限制?

转载 作者:行者123 更新时间:2023-12-03 15:16:39 24 4
gpt4 key购买 nike

我的设置如下所示:Windows 10, Release 1909 (Build 18363.1082),在 Ubuntu 20.04 环境中使用 WSL2。大多数时候一切都很好,但有些问题我无法解决。
在开发过程中使用 parcel (React bundler),我遇到了bundler 明显打开的问题手数文件的同时,在某个时候,我遇到了以下问题:

EMFILE: too many open files, open '/home/myusername/Projects/some-project-path/node_modules/@material-ui/icons/esm/RoundedCornerRounded.js'
parcel似乎不容易支持使用类似 graceful-fs 的东西,我试图增加在 Ubuntu 环境中打开文件的限制。到目前为止我尝试过的:
  • 一个简单的ulimit -n 4096 (默认情况下可能是最高的),但显然(到目前为止?)还不够
  • 我尝试增加 fs.files-max/etc/sysctl.conf 中非常高的东西,但它似乎没有效果(无论是在 sysctl -p 之后还是在重启 wsl 之后)
  • 我也尝试增加 fs.inotify.max_user_watches ,但这似乎也没有效果
  • 还在 /etc/security/limits.conf 中设置软限制和硬限制好像没有效果
  • 我还发现信息改变DefaultLimitNOFILE/etc/systemd/system.conf可以有效果(所以我也这样做了)

  • 有没有人设法在 WSL2 上的 Ubuntu 20.04 上解决类似的系统?这让我很困惑,它阻止我使用 parcel在这个环境里面。这真的很遗憾,因为其他一切都运行良好。

    更新
    所以我发现我在各个地方的更改(可能是 /etc/security/limits.conf 中的更改)产生了某种影响。只是在直接登录时不会。这说明了这一点:
    donmartin@SOMEMACHINE:~$ ulimit -Hn
    4096
    donmartin@SOMEMACHINE:~$ su donmartin
    Password:
    donmartin@SOMEMACHINE:~$ ulimit -Hn
    65536
    donmartin@SOMEMACHINE:~$
    这意味着:如果我 su对于我自己的用户, ulimit确实被提升了。但是如果我像往常一样使用 Windows 终端登录,这个限制是 不是 有效。现在更困惑了 - 但是 - 我有一个解决我的问题的方法。将我的值设置为 65536 , parcel构建现在可以工作,以我自己的用户身份运行。去搞清楚!我仍然不太清楚现在是哪个设置改变了行为——也许有人有更全面的信息关于它是如何工作的和/或我如何将它设置为默认值而无需执行 su获取更新的限制。

    最佳答案

    我必须将以下行添加到 /etc/systemd/user.conf :

    DefaultLimitNOFILE=65535
    正如这里的答案所写:
    https://superuser.com/questions/1200539/cannot-increase-open-file-limit-past-4096-ubuntu/1200818#1200818?s=1b927bb17396480da98a94cbacf8da62

    关于windows-subsystem-for-linux - 如何在 WSL2 上的 Ubuntu 20.04 中提高打开文件的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63960859/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com