在Visual Studio Code中打开任何基于PHP的工作区时,在包含的目录中的每个 PHP文件都出现EMFILE: too many open files
错误。这种情况恰好在窗口加载工作区时发生,并且在启用扩展名和关闭扩展名时发生(通过Developer: Reload with Extensions Disabled
)。
示例输出行:
[2019-10-26 07:13:58.364] [renderer1] [error] EMFILE: too many open files, open '/path/to/workspace/app/vendor/psy/psysh/test/CodeCleaner/InstanceOfPassTest.php': Error: EMFILE: too many open files, open '/path/to/workspace/app/vendor/psy/psysh/test/CodeCleaner/InstanceOfPassTest.php'
这将阻止所有扩展程序甚至某些核心功能正常工作,因此,例如,我看不到文件大纲或在“源代码管理”中检查已更改的文件。这也使我的CPU数量激增,尝试加载工作区时正在运行几个不同的code
进程。
在我的本地文件系统(如果需要的话,Linux Mint)中,我尝试增加打开文件的限制(ulimit -n 20000
),但这没有帮助。即使这样做,我认为这也只能解决真正的问题:有些东西正在尝试访问每个文件。
我的问题是: