编辑:我放弃了与19.10的斗争。由于我的研究,它有严重的错误,特别是5.3内核。太多的人都有同样的问题,而且不仅有一个解决方案对我不起作用。我将尝试18个lts版本。
我使用的Ubuntu19.10和5.3.26内核,有4GB内存,但我的交换大小是2GB RAM。我的系统几乎一直在冻结。因此,我决定增加交换大小,但我有一个类似的错误。
我使用了以下命令:
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
sudo chmod 600 /swapfile
sudo mkswap /swapfile在最后那部分之前是可以的:
sudo swapon /swapfile当我使用最后一个命令时,它说:
swapon: /swapfile: skipping - it appears to have holes.这是lsblk输出
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 50M 0 part /boot/grub
├─sda3 8:3 0 2G 0 part [SWAP]
├─sda4 8:4 0 2G 0 part
└─sda5 8:5 0 114,7G 0 part 这是df输出
Filesystem Type 1M-blocks Used Available Use% Mounted on
/dev/sda1 vfat 511 8 504 2% /boot/efi
/dev/sda2 ext4 45 8 33 20% /boot/grub
udev devtmpfs 1883 0 1883 0% /dev
udev devtmpfs 1883 0 1883 0% /dev
udev devtmpfs 1883 0 1883 0% /dev发布于 2020-01-27 17:41:20
对于Ubuntu来说,对交换空间使用文件是相对较新的。以前,当使用交换分区时,块当然是连续的,但是文件对其块没有这样的保证。显然,为弥补差距作出了一些努力,但可能对可以处理的问题有所限制。参见"man mkswap“手册页末尾的说明:
Note that a swap file must not contain any holes. Using cp(1) to create the file is not acceptable. Neither is use of
fallocate(1) on file systems that support preallocated files, such as XFS or ext4, or on copy-on-write filesystems like
btrfs. It is recommended to use dd(1) and /dev/zero in these cases. Please read notes from swapon(8) before adding a
swap file to copy-on-write filesystems. 当前的解决办法是简单地重新分配一些分区,以便将4G专用于交换分区,并在其上使用mkswap。
发布于 2021-05-15 20:46:04
在使用ZDF默认安装之后,也出现了同样的问题。2G交换分区-并且不再。我在这个线程中找到的解决方案是:ZFS交换大小,甚至使用了w/o更改路径,只选择了另一个大小32G:
zfs create -V 8G -b $(getconf PAGESIZE) -o logbias=throughput -o sync=always -o primarycache=metadata -o com.sun:auto-snapshot=false rpool/swap
mkswap -f /dev/zvol/rpool/swap
swapon /dev/zvol/rpool/swap
# IN FSTAB (before the line with current swap file or partition)
/dev/zvol/rpool/swap none swap discard 0 0检查它是否对你有效:free -m
但是我的新SSD几乎是免费的,所以分配大的连续文件没有问题。在许多创建/追加/收缩/删除文件操作之后,在几乎满的驱动器上执行该操作肯定是一个问题!
https://askubuntu.com/questions/1205166
复制相似问题