我最近切换到 Linux。我正在尝试在 android studio 中运行模拟器,但这会导致整个系统冻结。模拟器导致高磁盘 I/O,可能 ram 得到 100% 使用(在 Windows 上为 95%),当 androids studio 模拟器运行时,我的 cpu 使用率一直超过 95%,有趣的是我的 gpu 大部分时间保持在 10%。
我设置了 kvm,开启了硬件加速,我的笔记本电脑规格是:
中央处理器:锐龙5600H
显卡:英伟达 1650
内存:8GB 3200Mhz
磁盘:
512Nvme (skhynix, windows on it)
512 SATA (crucial bx, Linux on it)
我在不同的发行版上测试了它(Mx Linux、Ubuntu、KDE neon、Fedora、Fedora KDE SPIN、OPENSUSE leap、tumbleweed、Garuda Linux、POP os、endavour OS、Zorin OS 等) 我测试的大多数发行版的桌面环境为 80% KDE、15% Genome、5% XFCE。 我的文件系统 98% BTRFS(但我在 reddit 上发现模拟器与 BTRFS 有一些问题,所以我现在正在使用 XFS 文件系统在 OPENSUSE Tumbleweed 上进行测试)。 当我在 BTRFS 文件系统上时,我添加了以下内容:
echo "QuickbootFileBacked = off" >> ~/.android/advancedFeatures.ini
有关此的更多信息:
这确实使它工作了一次,但随后系统再次开始冻结。
因为我有 Nvidia GPU,所以为了确保我测试了开源和专有驱动程序没有区别。
这里是idea使用截图和android studio运行时的截图:
我检查了哪些进程导致大部分 CPU 使用和内存: JAVA 导致 1.5 到 2 GB 的内存使用和 8% 的 CPU 使用。 模拟器进程导致 2GB 的 ram 使用率和 15% 的 CPU 使用率。
我还尝试更改 android studio 的设置以关闭不相关的后台进程。 我还关闭了在 stackoverflow 类似问题上给出的模拟器 gps、hw.audio 等设置。 我尝试通过 htop 创建 threadump 但失败了,因为在运行模拟器后我无法使用我的系统。 我希望有人给我一些故障排除步骤,以便我找到核心问题,或者如果过去有人遇到过这个问题,请给我适合您的解决方案。