我有以下设置:Gentoo Linux,内核 4.19.52,AMD Ryzen 5 1600,16G RAM(其中最多 8G 用作 ramdisk - 安装为 tmpfs)。我还设置了32G的交换分区。以下问题已经困扰我半年了,并且有几个内核。
当我编译相对较大的应用程序(例如 chromium 或 firefox)时,最终(例如编译半小时)我的系统变得无响应。从我观察到的情况来看,系统似乎开始大量交换(kswapd 使用了相当大的 CPU 百分比),但令我惊讶的是,实际交换空间几乎未使用。看起来由于某种原因系统耗尽了 RAM,但也不想使用交换空间。
关于要寻找什么的任何提示或想法?调试这个问题有点困难,因为一切都顺利运行大约 30-60 分钟,直到它“几乎”挂起(我的意思是鼠标每 30 秒移动 1 英寸) - 这使得它也无法观察到:(
也许有人遇到过这个问题?我将不胜感激任何提示...
马雷克
基本 /proc/meminfo 输出位于:https://pastebin.com/SQJ49mhD由于系统变得无响应,因此很难在“问题状态”期间捕获它 - 除了硬“断电”之外,我无法执行任何操作
答案1
现代浏览器的构建过程非常复杂。虚拟内存系统很可能正在移动大量页面,但不足以显着地将页面调出到磁盘。
Linux 从头开始报告用于构建 Firefox 的 6+ GB 内存, 和对于带有 WebKit 的 Chromium,每个线程 1.25 GB。
使用任何 -j 开关获取更多内存或减少作业数量。或者使用预构建的二进制文件...