【linux命令讲解大全】129.Linux系统中的交换空间和磁盘写入工具:swapon和sync命令

2024-03-02 14:06:40 浏览数 (1)

标题:swapon命令-激活Linux系统中的交换空间

介绍

swapon命令用于激活Linux系统中的交换空间,交换空间在Linux系统的内存管理中起到建立虚拟内存的作用。

语法

代码语言:javascript复制
swapon [选项] [参数]

选项

  • -a:将/etc/fstab文件中所有设置为swap的设备启动为交换区。
  • -h:显示帮助信息。
  • -p <优先级>:指定交换区的优先级。
  • -s:显示交换区的使用情况。
  • -V:显示版本信息。

参数

  • 交换空间:指定需要激活的交换空间,可以是交换文件或交换分区。如果是交换分区,则需指定对应的设备文件。

示例

代码语言:javascript复制
mkswap -c /dev/hdb4 # 创建交换分区(-c用于检查坏块)
swapon -v /dev/hdb4 # 激活交换分区
swapon -s            # 显示交换区使用情况

输出示例:

代码语言:javascript复制
Filename        type        Size    Used    Priority
/dev/hda5       partition   506008  96      -1
/dev/hdb4       partition   489972  0       -2

标题:sync命令-强制写入磁盘

介绍

sync命令用于强制将被改变的内容立即写入磁盘,并更新超块信息。

语法

代码语言:javascript复制
sync [选项]

选项

  • -d, --data:只同步文件数据,不同步不必要的元数据。
  • -f, --file-system:同步包含这些文件的文件系统。
  • --help:显示帮助信息。
  • --version:显示版本信息。

buffer与cache

  • buffer:为了解决写磁盘的效率。
  • cache:为了解决读磁盘的效率。

Linux系统为了提高读写磁盘的效率,会先将数据放在一个buffer中。在写磁盘时,并不会立即将数据写入磁盘,而是先写入buffer中。如果系统重启,可能导致数据丢失。

sync命令用于flush文件系统的buffer,这样数据才会真正写入磁盘,并释放对应的buffer。flush操作清空buffer。使用sync命令会强制将数据写入磁盘,并释放该数据所对应的buffer。因此,在写磁盘后通常会执行sync命令,以确保数据真正写入磁盘。

如果不手动执行sync命令进行磁盘写入,Linux系统也会周期性地自动进行sync数据。

0 人点赞