我在 Steam Deck 上使用 Linux (SteamOS/Arch Linux)。
有没有一种方法可以对 Chrome 可以与命令行参数一起使用的最大总 RAM 设置硬上限/限制? (设备最大 16 GB 中的 8 GB)
Chrome 在我的 8 GB RAM 的 Windows 笔记本电脑上打开大量选项卡时工作得很好,而且我总是可以使用 Chrome 的内置任务管理器终止单个进程。
但在 Steam Deck 的 Arch Linux 上,如果我忘记使用 Chrome 的内置任务管理器来杀死选项卡/进程,某些优化不佳的网站的选项卡太多可能会导致整个机器挂起。然后我别无选择,只能按住电源按钮进行硬重置。
我已经使用 uBlock Origin 来清理网站,但这似乎还不够。
--TL;DR--
我想使用命令行参数将 Chrome 可以使用的最大总 RAM 设置为 8 GB(设备 16 GB RAM)的硬上限。
如果我使用 KDE 菜单编辑器,我可以直接向 Chrome 添加命令行参数。
执行的命令行是:
run --branch=stable --arch=x86_64 --command=/app/bin/chrome --file-forwarding com.google.Chrome @@u %U @@
我可以添加一个参数来做到这一点吗?寻找类似的内容:“--max_ram_usage 8192MB”
答案1
您可以用于ulimit
设置最大虚拟内存大小的软限制和硬限制。
ulimit -Sv 8192000; ulimit -Hv 8192000; google-chrome
有输出:
ulimit -Sv 8192000; ulimit -Hv 8192000; google-chrome &
sleep 2
PID=$(pgrep google-chrome)
ps -o pid,rss,vsz -p $PID
运行此修改后的命令,您应该会看到Chrome 进程的PID
、RSS
和值。VSZ
该RSS
值代表实际的内存使用情况,该VSZ
值代表进程分配的总虚拟内存大小。
sleep 2
确保有一个暂停,以允许 Chrome 启动和分配内存。
设置虚拟内存并输出:
ulimit -v 8192000 && google-chrome &
sleep 1
PID=$(pgrep google-chrome)
ulimit -aH | grep "virtual memory"
ulimit -aS | grep "virtual memory"
cat /proc/$PID/limits | grep "Max address space"