第一次做 electron 应用,对 Linux 也不是特别了解,希望大佬们能指点一下
用 electron-builder electron 打包的 linux 应用,打开后通过 top 命令看到有个进程的虚拟内存占用达到 1100g ,还有几个 64g 的进程,但机器的物理内存总共才 64g ,swap 才 1g
虽然知道虚拟内存有一部分是磁盘交换空间,但 1000g 也太夸张了 😂
亲测 1. 一路从 electron 23.x 退到 13.x 才没这个问题
亲测 2. 不要打包 而是直接用 electron 启动也有这个问题
亲测 3. 业内知名公司 vercel 出的应用 hyper 也复现了这个情况
到底是为什么啊 😂
虽然知道 VIRT 不是实际使用的内存,但甲方不接受啊啊啊啊啊
有什么方法可以优化吗
已经试过了
app.disableHardwareAcceleration()
app.commandLine.appendSwitch("disable-gpu")
app.commandLine.appendSwitch("max-memory", "1GB")
没效果啊
1
jackyzy823 2023-03-23 11:28:15 +08:00
试试这个 https://stackoverflow.com/questions/43933951/how-to-increase-the-max-memory-limit-for-the-app-built-by-electron-builder
app.commandLine.appendSwitch('js-flags', '--max-old-space-size=4096'); |
2
abelyao OP @jackyzy823 不起作用… 内存占用实际不高,就 200M 左右,是虚拟内存有异常
|
3
jackyzy823 2023-03-23 12:17:03 +08:00
那试试外部控制 例如 ulimit 或者 cgroup 之类的。
|
4
f6x 2023-03-23 12:28:03 +08:00
你自己都不贴出实际内存占用 RES. 还指望能给甲方解释清楚?
|