我有一台 2gb RAM / Atom Z3735F / Ubuntu 20.04 机器。我的系统从睡眠状态唤醒后变慢了。将 CPU 调速器置于性能模式并不能解决问题。我注意到从睡眠状态恢复后,我的交换空间几乎已填满(1.1G/1.3G),关闭每个程序都会将交换空间使用量减少到 600 mb,但不会进一步减少。有什么帮助吗?
swapon-显示
Filename Type Size Used Priority
/swapfile file 4194300 780864 -2
/dev/zram0 partition 524284 524216 100
grep -i 交换 /etc/fstab
/dev/zram0 none swap sw,pri=32767 0 0
/swapfile none swap defaults,pri=-3 0 0
免费-h
total used free shared buff/cache available
Mem: 1.9Gi 1.2Gi 89Mi 316Mi 607Mi 212Mi
Swap: 4.5Gi 1.3Gi 3.2Gi
顶部
【一年后】
编辑:最终我转移到了带有 KDE Plasma 的 openSUSE TW。无法在那里重现此问题。
答案1
您的问题是您有一台“2GB RAM / Atom Z3735F / Ubuntu 20.04 机器”。您实际上应该运行 Xubuntu 或 Lubuntu。
不过,让我们尝试扩大您的交换,看看是否有帮助。
如果grep -i swap /etc/fstab
返回这个...
/swapfile none swap sw 0 0
然后这样做...
笔记:命令使用不当dd
可能导致数据丢失。建议复制/粘贴。
sudo swapoff -a # turn off swap
sudo rm -i /swapfile # remove old /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile # set proper file protections
sudo mkswap /swapfile # init /swapfile
sudo swapon /swapfile # turn on swap
free -h # confirm 2G RAM and 4G swap
reboot # reboot and verify operation
答案2
让我们创建一个更大的交换文件:-
首先禁用交换并删除现有的交换文件
sudo swapoff -a && sudo rm /swapfile
首先创建一个用于交换的文件:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
要使更改永久生效,请打开/etc/fstab
文件:
sudo nano /etc/fstab
并粘贴以下行:
/swapfile swap swap defaults 0 0
您还可以通过以下步骤启用 zram,这将使您的低内存系统运行得更快:-
打开终端窗口并使用以下命令创建一个新文件:
sudo nano /etc/modules-load.d/zram.conf
在该文件中,添加以下内容:
zram
保存并关闭文件。
接下来,使用以下命令创建第二个新文件:
sudo nano /etc/modprobe.d/zram.conf
在该文件中,粘贴以下行:
options zram num_devices=1
保存并关闭文件。
接下来我们需要配置zRAM分区的大小,使用以下命令创建一个新文件:
sudo nano /etc/udev/rules.d/99-zram.rules
在该文件中,粘贴以下内容(修改磁盘大小属性以满足您的需要):
KERNEL=="zram0", ATTR{disksize}="512M",TAG+="systemd"
保存并关闭文件。
fstab
用以下命令打开你的文件:
sudo nano /etc/fstab
并将此行添加到底部:
/dev/zram0 none swap defaults 0 0
为了使 zRAM 运行,我们需要创建一个 systemd 单元文件。使用以下命令创建此文件:
sudo nano /etc/systemd/system/zram.service
在该文件中,粘贴以下内容:
[Unit]
Description=Swap with zram
After=multi-user.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStartPre=/sbin/mkswap /dev/zram0
ExecStart=/sbin/swapon -p 100 /dev/zram0
ExecStop=/sbin/swapoff /dev/zram0
[Install]
WantedBy=multi-user.target
保存并关闭文件。使用以下命令启用新单元:
sudo systemctl enable zram
重新启动机器。
更多信息请参阅 techrepublic.com 上的这篇文章:如何启用 zram 模块以在 Linux 上更快地进行交换