我使用我的机器(HP EliteBook 850 G5) 进行编程。不幸的是,我遇到了一个问题,当我以某种方式搞砸了(例如创建无限循环、进行昂贵的数据库查询等)时,我的整个机器都会冻结。它变得几乎没有反应。当我移动鼠标时,每隔几秒钟就会移动一次。所以它慢得离谱。当这种情况发生时,我尝试转到另一个控制台(Ctrl+Alt+F2),并终止导致冻结的进程。它非常慢,但它有效。
我的问题: 我能否以某种方式为操作系统保留部分机器的处理能力? 事实上,我知道 Playstation 操作系统就是这样做的。无论游戏代码有多糟糕,崩溃的频率有多高(Cyberpunk),用户界面始终是完全可访问的。我能用我的电脑做到这一点吗?例如,只为操作系统保留一个核心?
uname -a
Linux Michael-PC 5.4.0-66-generic #74~18.04.2-Ubuntu SMP Fri Feb 5 11:17:31 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
对于编程我主要使用:
- Ruby(Rubymine 作为 IDE)
- Docker
- Postgres
谢谢大家的意见!
硬件:
Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
16 GB RAM
SSD: 256GB Model: SK hynix BC501 HFM256GDJTNG-8310A
@heynnema
free -h
total used free shared buff/cache available
Mem: 15G 10G 421M 2,1G 4,8G 2,9G
Swap: 975M 975M 72K
grep -i swap /etc/fstab
/dev/mapper/ubuntu--vg-swap_1 none swap sw 0 0
sysctl vm.swappiness
vm.swappiness = 60
我想你们已经发现了问题所在……交换空间有点小,不是吗?是 RAM 的 1.5 倍?哈哈,我明白了1/16