我的电脑每个工作日(8 小时)大约会死机 3 到 10 次。当电脑死机时,我可以移动鼠标,但移动速度很慢。通常需要大约 5 分钟才能再次响应,此时电脑会显示没有vscode
响应。
我对此进行了更深入的研究,发现问题出在 node 上。我曾经能够在 webpack 命令冻结时停止它,这样它就会停止。我也曾在某个时候打开了系统监视器,虽然在它冻结时我看不到状态,但我确实注意到 node 每次在冻结之前都会出现峰值。
我正在运行 Ubuntu 18.04
, webpack 版本4.41.2
和 Node 版本8.11.4
。我已经使用这个一年左右了,所以我认为它与任何版本都没有关系。
我可以尝试什么建议吗?
total used free shared buff/cache available
Mem: 7.7G 6.5G 390M 550M 835M 399M
Swap: 2.0G 2.0G 52K
/swapfile none swap sw
vm.swappiness = 60
答案1
您的系统冻结是因为您的交换空间太小。不是因为 webpack 或 vscode 本身。你可能还需要将 RAM 大小增加到 16G(使用两根相同大小的 RAM 条)。
我们可以通过命令看到这一点free -h
...
total used free shared buff/cache available
Mem: 7.7G 6.5G 390M 550M 835M 399M
Swap: 2.0G 2.0G 52K
请注意,2.0G 交换空间已完全用完。
我们还注意到 swap 的条目/etc/fstab
不正确......
sudo -H gedit /etc/fstab
改变:
/swapfile none swap sw
到:
/swapfile none swap sw 0 0
要增加 /swapfile 的大小,请使用以下步骤。当心,因为错误使用命令dd
可能会导致数据丢失...好的备份会很有用...
sudo swapoff -a # turn off the current /swapfile
sudo rm -i /swapfile # delete the current /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 # lets try 4G first
sudo chmod 600 /swapfile # set the correct permissions
sudo mkswap /swapfile # initialize the /swapfile
sudo swapon /swapfile # enable the new /swapfile
使用该free -h
命令验证 4G 交换,并监控您的交换和 RAM 使用情况。