执行swapon --show,若type列为file则为swap文件(如/swapfile),为partition则为swap分区(如/dev/sda2);输出为空表示未启用任何swap。

怎么判断当前用的是swap文件还是swap分区
执行 swapon --show,看 TYPE 列:显示 file 就是 swap 文件(比如 /swapfile),显示 partition 就是磁盘分区(比如 /dev/sda2)。输出为空说明没启用任何 swap。别跳过这步——混用分区和文件的操作命令会直接失败,比如对 /swapfile 执行 parted resizepart 没有意义,也根本不会生效。
fallocate 或 dd 创建 swap 文件哪个更靠谱
fallocate -l 4G /swapfile 是首选,速度快、不写零、不触发磁盘 I/O 峰值。但它在 XFS 或某些旧 ext4 文件系统上可能报错:fallocate: fallocate failed: Operation not supported。这时必须 fallback 到 dd:dd if=/dev/zero of=/swapfile bs=1M count=4096。注意别漏 conv=notrunc(扩容时),否则已有 swap 数据会被截断清空。另外,bs=1M 比 bs=1K 效率高得多,别盲目照抄网上“兼容性更好”的低效写法。
chmod 600 和 mkswap 顺序不能错
权限不对是 swapon 失败最常见原因。必须在 mkswap 之前就执行 chmod 600 /swapfile。否则 mkswap 可能成功,但后续 swapon 会拒绝加载并提示:swapon: /swapfile: insecure permissions 0644, 0600 suggested。更隐蔽的问题是:如果先 mkswap 再改权限,部分内核版本会缓存旧的权限状态,仍报错。所以固定流程是:创建 → chmod 600 → mkswap → swapon。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
fstab 配置写错会导致开机卡住或 swap 不加载
往 /etc/fstab 追加这行:/swapfile none swap sw 0 0。三个关键点:路径必须和实际文件完全一致(区分大小写、有无前导斜杠);第二个字段必须是 none,不是 swap 或空;最后两个数字是 0 0,不是 1 2(那是 root 分区的 fs_passno 规则)。加完后务必验证:mount -a 不报错,且 swapon --show 能看到该条目——否则重启后 swap 依然为 0。
swap 文件方式看似简单,但权限、fstab 字段、文件系统兼容性这三处最容易被忽略。尤其是 fallocate 失败时不换 dd,或者 chmod 放在 mkswap 后面,都会让整个操作卡在最后一步。










