ubuntu18.04-24.04设置休眠

— ubuntu24.04设置休眠 —

— 注意—

​ 首先需要明确一点的是,要设置休眠功能,就必须要满足一个硬性条件,交换空间的大小要 > 系统内存的大小。(其实在休眠时,系统只是将已使用的物理内存存入交换空间。假如你系统内存32G,在系统内存已使用8G时,你想休眠,此时就会占用8G的交换空间,也就是说,在这种情况下,只要你的交换空间大于8G,就能成功休眠。但是下一次,你内存占用了31G,你依然想休眠,交换空间就要大于31G,否则就会休眠失败。你也不想每次休眠的时候都判断一下内存和交换空间的大小关系,并重新设置交换空间的大小吧!索性,我们直接一劳永逸的将交换空间的大小设置成比内存大!这样每次休眠都会是成功的。)

​ 其次,交换空间一般设置得比内存大2G即可。

最后有必要知道的是,有两种设置交换空间的方式,一种是设置swapfile的方式,另一种是将一个固定分区设置交换空间,如/dev/nvme0n1p3分区。

— swapfile设置交换分区 —

​ linux内核或一些配置对swapfile作为休眠存储支持有限, 主要原因可能包括:

(1) 文件的碎片化

/swapfile 可能在文件系统中被分割成多个非连续的物理块,而内核要求休眠存储必须是连续的存储空间。

​ 运行以下命令检查 /swapfile 是否是连续的。

sudo filefrag -v /swapfile

如果swapfile输出中extents数量大于 1,说明文件是碎片化的,无法用于休眠。

​ 在一些教程中, 通常使用如下两种方式创建swapfile:

# fallocate工具创建34G的swapfile
sudo fallocate -l 34G /swapfile

# dd工具创建34G的swapfile
sudo dd if=/dev/zero of=/swapfile bs=1G count=34

​ 如果你使用这两种方式之一创建swapfile,请一定要用sudo filefrag -v /swapfile命令检查extents的数量是否大于 1, 大于1是无法进入休眠的!!!

​ 很不幸, 我使用swapfile方式设置交换空间, extents的数量总是大于1,所以我使用固定分区设置交换空间的方式。我也强烈建议使用固定分区设置交换空间,使用固定分区设置交换空间,使用固定分区设置交换空间!!!

(2) 文件系统类型的限制

​ 某些文件系统(例如 btrfs)在支持swapfile时有较多限制,尤其是用于休眠时。可以考虑将文件系统转换为 ext4

— 固定分区设置交换空间 —

- 适用版本

ubuntu18.04 – ubuntu24.04(这是测试过的,其他版本应该也是一样的。)

- 创建swap分区

​ 已有swap分区但是大小过小可删除重建, 没有swap分区可使用GParted工具新建.需要注意的是,调整硬盘分区是需要卸载硬盘的,如果你因为正在使用该硬盘而无法卸载,请制作一个ubuntu启动盘,选择试用的方式经行swap分区的创建.

swap分区的大小比自己的物理内存大2G即可。

​ swap分区如图:

在这里插入图片描述

​ swap分区创建好后, 进入要设置休眠的系统执行下面的操作.

- 格式化新的swap分区

sudo mkswap /dev/nvme1n1p3

/dev/nvme1n1p3请替换成自己的swap分区.

- 激活新的swap 分区

sudo swapon /dev/nvme1n1p3

- 查看swap分区的UUID

sudo blkid | grep swap

类似如图:

在这里插入图片描述

- 更新/etc/fstab

将新的 Swap 分区写入 /etc/fstab 文件

gedit /etc/fstab

# 加入一行, <新的UUID>替换成自己swap的UUID
UUID=<新的UUID> none swap sw 0 0

# 比如,我填写的配置如下:
UUID=3da00566-1972-4152-9f77-018525d655b6 none swap sw 0 0

- 更新RESUME配置

sudo gedit /etc/initramfs-tools/conf.d/resume

# 将文件内容修改为
RESUME=UUID=<UUID>

# 比如,我填写的配置如下:
RESUME=UUID=3da00566-1972-4152-9f77-018525d655b6

- 保存文件并更新initramfs

# 二选一
sudo update-initramfs -c -k all		# 优先选择
sudo update-initramfs -u

- 编辑/etc/default/grub

sudo gedit /etc/default/grub

# 在GRUB_CMDLINE_LINUX_DEFAULT参数,向splash后添加以下内容
resume=UUID=<UUID>

# 比如,我填写的配置如下:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=3da00566-1972-4152-9f77-018525d655b6"

- 更新GRUB配置

sudo update-grub

- 验证交换swap

sudo swapon --show
sudo free -h

- 测试休眠

sudo systemctl hibernate

— 欢迎指正 —

如何有任何问题,可通过邮箱:1469501961@qq.com 或  企鹅号1469501961  与本人进行联系。

欢迎指正!
Ubuntu 18.04是一个较旧的Linux发行版,而YOLOv5(You Only Look Once)是一个最新的目标检测模型,通常需要更现代的操作系统版本和更新的GPU支持。然而,如果你想在Ubuntu 18.04上安装YOLOv5,你可能需要遵循一些额外步骤,因为该版本不直接支持一些新工具和库。 以下是安装步骤的大致概述: 1. **更新系统和安装依赖**: - `sudo apt update` - `sudo apt upgrade` - 安装必要的开发工具包和库,如CUDA、cuDNN、Python3、pip3以及OpenCV等。例如: ``` sudo apt install nvidia-cuda nvidia-cudnn python3-pip python3-tk libopencv-dev ``` 2. **安装PyTorch**: - 因为YOLOv5依赖于PyTorch,你需要安装适合CUDA版本的PyTorch。由于Ubuntu 18.04支持的是CUDA 9.0,你可以尝试这个: ``` pip3 install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu90/torch_stable.html ``` 3. **安装YOLOv5**: - YOLOv5的GitHub仓库中应该提供了针对不同环境的安装脚本。你可以在GitHub上找到`setup.py`文件,然后运行: ``` git clone https://github.com/ultralytics/yolov5 cd yolov5 python3 setup.py install ``` 4. **检查安装**: - 使用`python3 -m yolov5`测试安装是否成功,并确认你的GPU被识别。 **相关问题--:** 1. 是否可以直接在Ubuntu 18.04上安装YOLOv5-latest版本? 2. 如何检查我的系统是否满足YOLOv5的最低硬件要求? 3. 如果遇到兼容性问题,我应该怎么做? 请注意,这些步骤可能会因为YOLOv5的最新更新或Ubuntu 18.04的过时性而变得不稳定。建议考虑升级到更新的Ubuntu版本或使用一个支持YOLOv5的Docker容器来进行开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值